CMake: Rename xz and man page symlink custom targets.

The Ninja Generator for CMake cannot have a custom target and its
BYPRODUCTS have the same name. This has prevented Ninja builds on
Unix-like systems since the xz symlinks were introduced in
80a1a8bb83.
This commit is contained in:
Jia Tan 2023-09-29 20:14:39 +08:00
parent 38171492de
commit 8fdc71a27d
1 changed files with 3 additions and 3 deletions

View File

@ -1234,7 +1234,7 @@ if(NOT MSVC AND HAVE_GETOPT_LONG)
# even on Windows the symlink can still be executed without # even on Windows the symlink can still be executed without
# the .exe extension. # the .exe extension.
foreach(LINK IN LISTS XZ_LINKS) foreach(LINK IN LISTS XZ_LINKS)
add_custom_target("${LINK}" ALL add_custom_target("create_${LINK}" ALL
"${CMAKE_COMMAND}" -E create_symlink "${CMAKE_COMMAND}" -E create_symlink
"$<TARGET_FILE_NAME:xz>" "${LINK}" "$<TARGET_FILE_NAME:xz>" "${LINK}"
BYPRODUCTS "${LINK}" BYPRODUCTS "${LINK}"
@ -1247,7 +1247,7 @@ if(NOT MSVC AND HAVE_GETOPT_LONG)
# created broken. The symlinks will not be valid until install # created broken. The symlinks will not be valid until install
# so they cannot be created on these system environments. # so they cannot be created on these system environments.
if(ALLOW_BROKEN_SYMLINKS) if(ALLOW_BROKEN_SYMLINKS)
add_custom_target("${LINK}.1" ALL add_custom_target("create_${LINK}.1" ALL
"${CMAKE_COMMAND}" -E create_symlink "xz.1" "${LINK}.1" "${CMAKE_COMMAND}" -E create_symlink "xz.1" "${LINK}.1"
BYPRODUCTS "${LINK}.1" BYPRODUCTS "${LINK}.1"
VERBATIM) VERBATIM)
@ -1259,7 +1259,7 @@ if(NOT MSVC AND HAVE_GETOPT_LONG)
# cannot be made. This ensures parallel builds do not fail # cannot be made. This ensures parallel builds do not fail
# since it will enforce the order of creating xz first, then # since it will enforce the order of creating xz first, then
# the symlinks. # the symlinks.
add_dependencies("${LINK}" xz) add_dependencies("create_${LINK}" xz)
endif() endif()
endforeach() endforeach()
endif() endif()