summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2022-03-10 15:54:43 (GMT)
committerMarc Chevrier <marc.chevrier@gmail.com>2022-03-17 22:07:59 (GMT)
commitdabe56de58a32768f0dff740f83539ab8337b132 (patch)
tree1804ac7f935f1344ffeca22388d3e07d85d3350f /Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
parent3a37fda6a2b4f28fdd7efe58f4a0b7570404a7d4 (diff)
downloadCMake-dabe56de58a32768f0dff740f83539ab8337b132.zip
CMake-dabe56de58a32768f0dff740f83539ab8337b132.tar.gz
CMake-dabe56de58a32768f0dff740f83539ab8337b132.tar.bz2
genex-LINK_LIBRARY: Add feature WHOLE_ARCHIVE
Diffstat (limited to 'Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake')
-rw-r--r--Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake14
1 files changed, 12 insertions, 2 deletions
diff --git a/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake b/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
index 349310f..021de41 100644
--- a/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
+++ b/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
@@ -67,8 +67,8 @@ if ((RunCMake_GENERATOR MATCHES "Makefiles|Ninja|Xcode"
if(CMAKE_C_COMPILER_ID STREQUAL "AppleClang"
OR (CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER "1900")
OR (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_SYSTEM_NAME STREQUAL "Linux"))
- run_cmake(whole_archive)
- run_cmake_target(whole_archive link-exe main)
+ run_cmake(load_archive)
+ run_cmake_target(load_archive link-exe main)
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "AppleClang")
run_cmake(weak_library)
@@ -110,3 +110,13 @@ endif()
if (CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_C_COMPILER_VERSION GREATER_EQUAL "12")
run_cmake_target(apple_library needed_library main-needed_library)
endif()
+
+# WHOLE_ARCHIVE feature
+if ((CMAKE_SYSTEM_NAME STREQUAL "Windows" AND
+ ((DEFINED MSVC_VERSION AND MSVC_VERSION GREATER "1900") OR (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang" AND NOT CMAKE_C_SIMULATE_ID STREQUAL "MSVC")))
+ OR (CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND
+ (NOT CMAKE_C_COMPILER_ID STREQUAL "SunPro" OR CMAKE_C_COMPILER_VERSION GREATER "5.9"))
+ OR CMAKE_SYSTEM_NAME MATCHES "Darwin|iOS|tvOS|watchOS|Linux|BSD|MSYS|CYGWIN")
+ run_cmake(feature-WHOLE_ARCHIVE)
+ run_cmake_target(feature-WHOLE_ARCHIVE link-exe main)
+endif()