diff options
author | Gregor Jasny <gjasny@googlemail.com> | 2019-05-11 10:12:32 (GMT) |
---|---|---|
committer | Gregor Jasny <gjasny@googlemail.com> | 2019-05-11 10:12:32 (GMT) |
commit | e9d128b789f91c3f8d22e366500f58e6c7f6abc6 (patch) | |
tree | f3665a326b022086ac68c84ac15c894abf708707 /Modules/FindXCTest.cmake | |
parent | 6ced0b97d5fbcaf94f88a5f3062beeb0ad75f186 (diff) | |
download | CMake-e9d128b789f91c3f8d22e366500f58e6c7f6abc6.zip CMake-e9d128b789f91c3f8d22e366500f58e6c7f6abc6.tar.gz CMake-e9d128b789f91c3f8d22e366500f58e6c7f6abc6.tar.bz2 |
Apple: Properly lookup XCTest for iOS and tvOS
Closes: #19172
Diffstat (limited to 'Modules/FindXCTest.cmake')
-rw-r--r-- | Modules/FindXCTest.cmake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Modules/FindXCTest.cmake b/Modules/FindXCTest.cmake index 8497336..15721e1 100644 --- a/Modules/FindXCTest.cmake +++ b/Modules/FindXCTest.cmake @@ -61,6 +61,22 @@ The following variables are set by including this module: #]=======================================================================] +set(_PRESERVED_CMAKE_FIND_ROOT_PATH "${CMAKE_FIND_ROOT_PATH}") + +if(CMAKE_EFFECTIVE_SYSTEM_NAME STREQUAL "Apple" + AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") + # Non-macos systems set the CMAKE_FIND_ROOT_PATH_MODE to "ONLY" which + # restricts the search paths too much to find XCTest.framework. In + # contrast to the regular system frameworks which reside within the + # SDK direectory the XCTest framework is located in the respective + # platform directory which is not added to the CMAKE_FIND_ROOT_PATH + # (only to CMAKE_SYSTEM_FRAMEWORK_PATH) and therefore not searched. + # + # Until this is properly addressed, temporaily add the platform + # directory to CMAKE_FIND_ROOT_PATH. + list(APPEND CMAKE_FIND_ROOT_PATH "${_CMAKE_OSX_SYSROOT_PATH}/../..") +endif() + find_path(XCTest_INCLUDE_DIR NAMES "XCTest/XCTest.h" DOC "XCTest include directory") @@ -71,6 +87,9 @@ find_library(XCTest_LIBRARY DOC "XCTest Framework library") mark_as_advanced(XCTest_LIBRARY) +set(CMAKE_FIND_ROOT_PATH "${_PRESERVED_CMAKE_FIND_ROOT_PATH}") +unset(_PRESERVED_CMAKE_FIND_ROOT_PATH) + execute_process( COMMAND xcrun --find xctest OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE |