]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
CMake: Rename xz and man page symlink custom targets.
authorJia Tan <jiat0218@gmail.com>
Fri, 29 Sep 2023 12:14:39 +0000 (20:14 +0800)
committerJia Tan <jiat0218@gmail.com>
Fri, 29 Sep 2023 12:14:39 +0000 (20:14 +0800)
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
80a1a8bb838842a2be343bd88ad1462c21c5e2c9.

CMakeLists.txt

index 3e536a87feb369987fa42da589f9dfef3b17a232..c653dc67383d48e9d7b7509d5bd5c3ddb360723a 100644 (file)
@@ -1317,7 +1317,7 @@ if(NOT MSVC OR MSVC_VERSION GREATER_EQUAL 1900)
         # even on Windows the symlink can still be executed without
         # the .exe extension.
         foreach(LINK IN LISTS XZ_LINKS)
-            add_custom_target("${LINK}" ALL
+            add_custom_target("create_${LINK}" ALL
                 "${CMAKE_COMMAND}" -E create_symlink
                     "$<TARGET_FILE_NAME:xz>" "${LINK}"
                 BYPRODUCTS "${LINK}"
@@ -1330,7 +1330,7 @@ if(NOT MSVC OR MSVC_VERSION GREATER_EQUAL 1900)
             # created broken. The symlinks will not be valid until install
             # so they cannot be created on these system environments.
             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"
                     BYPRODUCTS "${LINK}.1"
                     VERBATIM)
@@ -1342,7 +1342,7 @@ if(NOT MSVC OR MSVC_VERSION GREATER_EQUAL 1900)
                 # cannot be made. This ensures parallel builds do not fail
                 # since it will enforce the order of creating xz first, then
                 # the symlinks.
-                add_dependencies("${LINK}" xz)
+                add_dependencies("create_${LINK}" xz)
             endif()
         endforeach()
     endif()