diff options
author | Brad King <brad.king@kitware.com> | 2012-12-05 18:46:04 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-12-11 20:15:52 (GMT) |
commit | cc676c3a08019b17433931a9287d9cd8b0ccf2f2 (patch) | |
tree | 8dd39816b0c86d71ae2a3dadd384c740bd1da730 /Tests/SystemInformation | |
parent | 2dd67c7ea095957d557d2934a67baacdf8a82d7b (diff) | |
download | CMake-cc676c3a08019b17433931a9287d9cd8b0ccf2f2.zip CMake-cc676c3a08019b17433931a9287d9cd8b0ccf2f2.tar.gz CMake-cc676c3a08019b17433931a9287d9cd8b0ccf2f2.tar.bz2 |
OS X: Detect implicit linker framework search paths
Previously we hard-coded a list of implicit framework directories but
did not account for CMAKE_OSX_SYSROOT or for changes to the list across
OS X versions. Instead we should automatically detect the framework
directories for the active toolchain.
The parent commit added the "-Wl,-v" option to ask "ld" to print its
implicit directories. It displays a block such as:
Framework search paths:
/...
Parse this block to extract the list of framework directories.
Detection may fail on toolchains that do not list their framework
directories, such as older OS X linkers. Always treat the paths
<sdk>/Library/Frameworks
<sdk>/System/Library/Frameworks
<sdk>/Network/Library/Frameworks # Older OS X only
/System/Library/Frameworks
as implicit. Note that /System/Library/Frameworks should always be
considered implicit so that frameworks CMake finds there will not
override the SDK copies.
Diffstat (limited to 'Tests/SystemInformation')
-rw-r--r-- | Tests/SystemInformation/SystemInformation.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Tests/SystemInformation/SystemInformation.in b/Tests/SystemInformation/SystemInformation.in index ecbc054..df3bf49 100644 --- a/Tests/SystemInformation/SystemInformation.in +++ b/Tests/SystemInformation/SystemInformation.in @@ -96,7 +96,9 @@ CMAKE_CXX_LINK_EXECUTABLE == "${CMAKE_CXX_LINK_EXECUTABLE}" // implicit link info CMAKE_C_IMPLICIT_LINK_LIBRARIES == "${CMAKE_C_IMPLICIT_LINK_LIBRARIES}" CMAKE_C_IMPLICIT_LINK_DIRECTORIES == "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}" +CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES == "${CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES}" CMAKE_CXX_IMPLICIT_LINK_LIBRARIES == "${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}" CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES == "${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES}" +CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES == "${CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES}" XCODE_VERSION == "${XCODE_VERSION}" |