diff options
author | Bo Anderson <mail@boanderson.me> | 2020-03-11 16:54:26 (GMT) |
---|---|---|
committer | Bo Anderson <mail@boanderson.me> | 2020-03-11 16:54:26 (GMT) |
commit | c841d43d70036830c9fe16a6dbf1f28acf49d7e3 (patch) | |
tree | b7331c99761201724a582d1322333d24877a8567 /Modules/CMakeFindFrameworks.cmake | |
parent | c7c6e103d1209f7e29cb2909cf342be75478f304 (diff) | |
download | CMake-c841d43d70036830c9fe16a6dbf1f28acf49d7e3.zip CMake-c841d43d70036830c9fe16a6dbf1f28acf49d7e3.tar.gz CMake-c841d43d70036830c9fe16a6dbf1f28acf49d7e3.tar.bz2 |
CMakeFindFrameworks: Search CMAKE_FRAMEWORK_PATH
Diffstat (limited to 'Modules/CMakeFindFrameworks.cmake')
-rw-r--r-- | Modules/CMakeFindFrameworks.cmake | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/Modules/CMakeFindFrameworks.cmake b/Modules/CMakeFindFrameworks.cmake index 06c05fb..8906f48 100644 --- a/Modules/CMakeFindFrameworks.cmake +++ b/Modules/CMakeFindFrameworks.cmake @@ -17,13 +17,25 @@ if(NOT CMAKE_FIND_FRAMEWORKS_INCLUDED) macro(CMAKE_FIND_FRAMEWORKS fwk) set(${fwk}_FRAMEWORKS) if(APPLE) - foreach(dir - ~/Library/Frameworks/${fwk}.framework - /usr/local/Frameworks/${fwk}.framework - /Library/Frameworks/${fwk}.framework - /System/Library/Frameworks/${fwk}.framework - /Network/Library/Frameworks/${fwk}.framework - ${CMAKE_FIND_FRAMEWORK_EXTRA_LOCATIONS}) + file(TO_CMAKE_PATH "$ENV{CMAKE_FRAMEWORK_PATH}" _cmff_CMAKE_FRAMEWORK_PATH) + set(_cmff_search_paths + ${CMAKE_FRAMEWORK_PATH} + ${_cmff_CMAKE_FRAMEWORK_PATH} + ~/Library/Frameworks + /usr/local/Frameworks + /Library/Frameworks + /System/Library/Frameworks + /Network/Library/Frameworks + ${CMAKE_SYSTEM_FRAMEWORK_PATH}) + + # For backwards compatibility reasons, + # CMAKE_FIND_FRAMEWORK_EXTRA_LOCATIONS includes ${fwk}.framework + list(TRANSFORM _cmff_search_paths APPEND /${fwk}.framework) + list(APPEND _cmff_search_paths ${CMAKE_FIND_FRAMEWORK_EXTRA_LOCATIONS}) + + list(REMOVE_DUPLICATES _cmff_search_paths) + + foreach(dir IN LISTS _cmff_search_paths) if(EXISTS ${dir}) set(${fwk}_FRAMEWORKS ${${fwk}_FRAMEWORKS} ${dir}) endif() |