diff options
author | Brad King <brad.king@kitware.com> | 2015-02-18 15:54:45 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-02-19 15:03:17 (GMT) |
commit | ffc06c12397e7cda7307afcfc8a79ebda4a786a6 (patch) | |
tree | 865c2be9956c6de122269ec4989102863c9e67b9 /Tests/RunCMake/find_library | |
parent | 4fb9e847c0c757ff6e1ee430bbb9fc2b6b4e2ae6 (diff) | |
download | CMake-ffc06c12397e7cda7307afcfc8a79ebda4a786a6.zip CMake-ffc06c12397e7cda7307afcfc8a79ebda4a786a6.tar.gz CMake-ffc06c12397e7cda7307afcfc8a79ebda4a786a6.tar.bz2 |
Teach find_(library|file|path) to get prefixes from PATH (#15370)
The find_package command already knows how to compute installation
prefixes from PATH. Use the same approach to establish prefixes for
find_library, find_file, and find_path to use to look in directories
like "<prefix>/lib[/<arch>]" and "<prefix>/include" for libraries and
headers. This will reduce the amount of configuration end users need to
do to establish a work environment rooted under a specific prefix.
Diffstat (limited to 'Tests/RunCMake/find_library')
-rw-r--r-- | Tests/RunCMake/find_library/PrefixInPATH-stdout.txt | 4 | ||||
-rw-r--r-- | Tests/RunCMake/find_library/PrefixInPATH.cmake | 11 | ||||
-rw-r--r-- | Tests/RunCMake/find_library/RunCMakeTest.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/find_library/lib/libPrefixInPATH.a | 0 |
4 files changed, 16 insertions, 0 deletions
diff --git a/Tests/RunCMake/find_library/PrefixInPATH-stdout.txt b/Tests/RunCMake/find_library/PrefixInPATH-stdout.txt new file mode 100644 index 0000000..1ab884c --- /dev/null +++ b/Tests/RunCMake/find_library/PrefixInPATH-stdout.txt @@ -0,0 +1,4 @@ +-- PrefixInPATH_LIBRARY='PrefixInPATH_LIBRARY-NOTFOUND' +-- PrefixInPATH_LIBRARY='.*/Tests/RunCMake/find_library/lib/libPrefixInPATH.a' +-- PrefixInPATH_LIBRARY='.*/Tests/RunCMake/find_library/lib/libPrefixInPATH.a' +-- PrefixInPATH_LIBRARY='.*/Tests/RunCMake/find_library/lib/libPrefixInPATH.a' diff --git a/Tests/RunCMake/find_library/PrefixInPATH.cmake b/Tests/RunCMake/find_library/PrefixInPATH.cmake new file mode 100644 index 0000000..f1b8b18 --- /dev/null +++ b/Tests/RunCMake/find_library/PrefixInPATH.cmake @@ -0,0 +1,11 @@ +list(APPEND CMAKE_FIND_LIBRARY_PREFIXES lib) +list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .a) + +set(ENV_PATH "$ENV{PATH}") +foreach(path "/does_not_exist" "" "/bin" "/sbin") + unset(PrefixInPATH_LIBRARY CACHE) + set(ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}${path}") + find_library(PrefixInPATH_LIBRARY NAMES PrefixInPATH) + message(STATUS "PrefixInPATH_LIBRARY='${PrefixInPATH_LIBRARY}'") +endforeach() +set(ENV{PATH} "${ENV_PATH}") diff --git a/Tests/RunCMake/find_library/RunCMakeTest.cmake b/Tests/RunCMake/find_library/RunCMakeTest.cmake index 4000679..136031c 100644 --- a/Tests/RunCMake/find_library/RunCMakeTest.cmake +++ b/Tests/RunCMake/find_library/RunCMakeTest.cmake @@ -1,3 +1,4 @@ include(RunCMake) run_cmake(Created) +run_cmake(PrefixInPATH) diff --git a/Tests/RunCMake/find_library/lib/libPrefixInPATH.a b/Tests/RunCMake/find_library/lib/libPrefixInPATH.a new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Tests/RunCMake/find_library/lib/libPrefixInPATH.a |