summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeFindFrameworks.cmake
diff options
context:
space:
mode:
authorBo Anderson <mail@boanderson.me>2020-03-11 16:54:26 (GMT)
committerBo Anderson <mail@boanderson.me>2020-03-11 16:54:26 (GMT)
commitc841d43d70036830c9fe16a6dbf1f28acf49d7e3 (patch)
treeb7331c99761201724a582d1322333d24877a8567 /Modules/CMakeFindFrameworks.cmake
parentc7c6e103d1209f7e29cb2909cf342be75478f304 (diff)
downloadCMake-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.cmake26
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()