diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2016-06-02 22:08:30 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-06-17 14:56:40 (GMT) |
commit | 96242f8022fa4bc718ef36cda43f5dfe6236c066 (patch) | |
tree | eb344591def11380b95fba62e71aa950e3671b87 /Tests/RunCMake/LinkWhatYouUse/RunCMakeTest.cmake | |
parent | ba92e11f8b461513566d5cc3c0b53b2215bb85f7 (diff) | |
download | CMake-96242f8022fa4bc718ef36cda43f5dfe6236c066.zip CMake-96242f8022fa4bc718ef36cda43f5dfe6236c066.tar.gz CMake-96242f8022fa4bc718ef36cda43f5dfe6236c066.tar.bz2 |
Add options to run `ldd -u -r` as a "link-what-you-use" tool
Create a LINK_WHAT_YOU_USE target property and corresponding
CMAKE_LINK_WHAT_YOU_USE variable to enable this behavior.
Extend link commands by running `ldd -u -r` to detect shared
libraries that are linked but not needed.
Diffstat (limited to 'Tests/RunCMake/LinkWhatYouUse/RunCMakeTest.cmake')
-rw-r--r-- | Tests/RunCMake/LinkWhatYouUse/RunCMakeTest.cmake | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Tests/RunCMake/LinkWhatYouUse/RunCMakeTest.cmake b/Tests/RunCMake/LinkWhatYouUse/RunCMakeTest.cmake new file mode 100644 index 0000000..897f568 --- /dev/null +++ b/Tests/RunCMake/LinkWhatYouUse/RunCMakeTest.cmake @@ -0,0 +1,21 @@ +include(RunCMake) + + +function(run_lwyu lang) + # Use a single build tree for tests without cleaning. + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${lang}-build) + set(RunCMake_TEST_NO_CLEAN 1) + file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") + file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") + run_cmake(${lang}) + + set(RunCMake_TEST_OUTPUT_MERGE 1) + run_cmake_command(${lang}-Build ${CMAKE_COMMAND} --build .) +endfunction() + +run_lwyu(CXX) +run_lwyu(C) +if (NOT RunCMake_GENERATOR STREQUAL "Watcom WMake") + run_lwyu(C-launch) + run_lwyu(CXX-launch) +endif() |