mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 13:51:33 -06:00
Merge topic 'Linux-deduplication-static-libs'
0445190d2f LLD linker: avoid regression on archive libraries deduplication
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10010
This commit is contained in:
@@ -6,5 +6,6 @@
|
||||
include_guard()
|
||||
|
||||
macro(__aix_linker_aix lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID AIX)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
endmacro()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
include_guard()
|
||||
|
||||
macro(__apple_linker_appleclang lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID AppleClang)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
|
||||
# Features for LINK_LIBRARY generator expression
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-C)
|
||||
|
||||
set(CMAKE_C_PLATFORM_LINKER_ID LLD)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-CXX)
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_LINKER_ID LLD)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-OBJC)
|
||||
|
||||
set(CMAKE_OBJC_PLATFORM_LINKER_ID LLD)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-OBJCXX)
|
||||
|
||||
set(CMAKE_OBJCXX_PLATFORM_LINKER_ID LLD)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-C)
|
||||
|
||||
set(CMAKE_C_PLATFORM_LINKER_ID MOLD)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-CXX)
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_LINKER_ID MOLD)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-OBJC)
|
||||
|
||||
set(CMAKE_OBJC_PLATFORM_LINKER_ID MOLD)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Apple-AppleClang-OBJCXX)
|
||||
|
||||
set(CMAKE_OBJCXX_PLATFORM_LINKER_ID MOLD)
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__cygwin_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -12,5 +12,6 @@ include(Platform/Linker/CYGWIN-GNU)
|
||||
macro(__cygwin_linker_lld lang)
|
||||
__cygwin_linker_gnu(${lang})
|
||||
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID LLD)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
endmacro()
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__freebsd_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -12,5 +12,6 @@ include(Platform/Linker/FreeBSD-GNU)
|
||||
macro(__freebsd_linker_lld lang)
|
||||
__freebsd_linker_gnu(${lang})
|
||||
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID LLD)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
endmacro()
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__gnu_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__linux_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Linux-GNU-ASM)
|
||||
|
||||
set(CMAKE_ASM_PLATFORM_LINKER_ID GNUgold)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Linux-GNU-C)
|
||||
|
||||
set(CMAKE_C_PLATFORM_LINKER_ID GNUgold)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Linux-GNU-CUDA)
|
||||
|
||||
set(CMAKE_CUDA_PLATFORM_LINKER_ID GNUgold)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Linux-GNU-CXX)
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_LINKER_ID GNUgold)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Linux-GNU-Fortran)
|
||||
|
||||
set(CMAKE_Fortran_PLATFORM_LINKER_ID GNUgold)
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(Platform/Linker/Linux-GNU-HIP)
|
||||
|
||||
set(CMAKE_HIP_PLATFORM_LINKER_ID GNUgold)
|
||||
|
||||
@@ -12,5 +12,6 @@ include(Platform/Linker/Linux-GNU)
|
||||
macro(__linux_linker_lld lang)
|
||||
__linux_linker_gnu(${lang})
|
||||
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID LLD)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
endmacro()
|
||||
|
||||
@@ -12,5 +12,7 @@ include(Platform/Linker/Linux-GNU)
|
||||
macro(__linux_linker_mold lang)
|
||||
__linux_linker_gnu(${lang})
|
||||
|
||||
|
||||
set(CMAKE_C_PLATFORM_LINKER_ID MOLD)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
endmacro()
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__netbsd_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__openbsd_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -12,5 +12,6 @@ include(Platform/Linker/OpenBSD-GNU)
|
||||
macro(__openbsd_linker_lld lang)
|
||||
__openbsd_linker_gnu(${lang})
|
||||
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID LLD)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
endmacro()
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__serenityos_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -12,5 +12,6 @@ include(Platform/Linker/SerenityOS-GNU)
|
||||
macro(__serenityos_linker_lld lang)
|
||||
__serenityos_linker_gnu(${lang})
|
||||
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID LLD)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=REVERSE DEDUPLICATION=ALL)
|
||||
endmacro()
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__sunos_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -9,6 +9,7 @@ block(SCOPE_FOR POLICIES)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
|
||||
macro(__sunos_linker_solaris lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID Solaris)
|
||||
# Features for LINK_LIBRARY generator expression
|
||||
## WHOLE_ARCHIVE: Force loading all members of an archive
|
||||
if (CMAKE_SYSTEM_VERSION VERSION_GREATER "5.10")
|
||||
|
||||
@@ -8,6 +8,7 @@ include_guard()
|
||||
include(Platform/Linker/GNU)
|
||||
|
||||
macro(__windows_linker_gnu lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID GNU)
|
||||
if(CMAKE_${lang}_COMPILER_LINKER)
|
||||
__cmake_set_whole_archive_feature("${CMAKE_${lang}_COMPILER_LINKER}" "${lang}")
|
||||
endif()
|
||||
|
||||
@@ -9,6 +9,7 @@ block(SCOPE_FOR POLICIES)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
|
||||
macro(__windows_linker_lld lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID LLD)
|
||||
# Features for LINK_LIBRARY generator expression
|
||||
if(CMAKE_${lang}_COMPILER_LINKER_FRONTEND_VARIANT STREQUAL "GNU")
|
||||
include(Platform/Linker/Windows-GNU)
|
||||
|
||||
@@ -17,6 +17,7 @@ if(MSVC_VERSION GREATER "1900")
|
||||
endif()
|
||||
|
||||
macro(__windows_linker_msvc lang)
|
||||
set(CMAKE_${lang}_PLATFORM_LINKER_ID MSVC)
|
||||
set(CMAKE_${lang}_LINK_LIBRARIES_PROCESSING ORDER=FORWARD DEDUPLICATION=ALL)
|
||||
|
||||
# Features for LINK_LIBRARY generator expression
|
||||
|
||||
Reference in New Issue
Block a user