diff options
author | Brad King <brad.king@kitware.com> | 2011-03-03 23:02:53 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2011-03-04 13:37:57 (GMT) |
commit | 077954d4cbd0d2f8b8ae96964bfe5c9747934fe8 (patch) | |
tree | 678c19be3cdce2b6f34013a62dbfe5376779b31a /Tests/CMakeLists.txt | |
parent | 5abfb571843dba949e010f3b2840d8882d0f3d73 (diff) | |
download | CMake-077954d4cbd0d2f8b8ae96964bfe5c9747934fe8.zip CMake-077954d4cbd0d2f8b8ae96964bfe5c9747934fe8.tar.gz CMake-077954d4cbd0d2f8b8ae96964bfe5c9747934fe8.tar.bz2 |
Test static linking with LINK_SEARCH_START_STATIC
Add "LinkStatic" test that links a static executable against "libm.a".
Pass both "/usr/lib/libm.a" and "-lm" to target_link_libraries to
trigger the link type logic for both cases. If CMake incorrectly
switches the link type to shared for "-lm" then the link will fail.
Diffstat (limited to 'Tests/CMakeLists.txt')
-rw-r--r-- | Tests/CMakeLists.txt | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index f418058..d025b1e 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -999,6 +999,22 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ SET_TESTS_PROPERTIES ( linkorder2 PROPERTIES DEPENDS linkorder1) SET_TESTS_PROPERTIES ( SimpleInstall-Stage2 PROPERTIES DEPENDS SimpleInstall) + # Test static linking on toolchains known to support it. + IF("${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU)$" + AND NOT APPLE AND NOT WIN32 AND NOT CYGWIN + AND EXISTS "/usr/lib/libm.a") + ADD_TEST(LinkStatic ${CMAKE_CTEST_COMMAND} + --build-and-test + "${CMake_SOURCE_DIR}/Tests/LinkStatic" + "${CMake_BINARY_DIR}/Tests/LinkStatic" + --build-generator ${CMAKE_TEST_GENERATOR} + --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} + --build-project LinkStatic + --build-options -DMATH_LIBRARY:FILEPATH=/usr/lib/libm.a + --test-command LinkStatic + ) + ENDIF() + IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR) ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND} --build-and-test |