From 30d0c35327f3639cb11224872aa58fdbf0b1526e Mon Sep 17 00:00:00 2001 From: Jia Tan Date: Fri, 29 Sep 2023 20:14:39 +0800 Subject: [PATCH] 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 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e536a87..c653dc67 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 "$" "${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()