|
|
@@ -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
|