Selaa lähdekoodia

OS X: Add platform-specific Frameworks search path

Otherwise find_library is unable to lookup the XCTest framework which
is not located in the SDK serach path:

In the 10.10 SDK the SDK frameworks are located here:

  $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks

whereas the Platform SDKs are located here:

  $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/Library/Frameworks

Signed-off-by: Gregor Jasny <[email protected]>
Gregor Jasny 11 vuotta sitten
vanhempi
sitoutus
0ee2a004e7

+ 7 - 0
Modules/Platform/Darwin.cmake

@@ -166,6 +166,13 @@ if(_CMAKE_OSX_SYSROOT_PATH)
     ${_CMAKE_OSX_SYSROOT_PATH}/Network/Library/Frameworks
     ${_CMAKE_OSX_SYSROOT_PATH}/System/Library/Frameworks
     )
+  # add platform developer framework path if exists
+  get_filename_component(_CMAKE_OSX_PLATFORM_FRAMEWORK_PATH
+    ${_CMAKE_OSX_SYSROOT_PATH}/../../Library/Frameworks ABSOLUTE)
+  if(IS_DIRECTORY ${_CMAKE_OSX_PLATFORM_FRAMEWORK_PATH})
+    list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH
+      ${_CMAKE_OSX_PLATFORM_FRAMEWORK_PATH})
+  endif()
 endif()
 list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH
   /Library/Frameworks

+ 1 - 1
Tests/RunCMake/CMakeLists.txt

@@ -176,7 +176,7 @@ if("${CMAKE_GENERATOR}" MATCHES "Visual Studio [^6]")
 endif()
 
 if(XCODE_VERSION AND NOT "${XCODE_VERSION}" VERSION_LESS 3)
-  add_RunCMake_test(XcodeProject)
+  add_RunCMake_test(XcodeProject -DXCODE_VERSION=${XCODE_VERSION})
 endif()
 
 add_RunCMake_test(File_Generate)

+ 3 - 0
Tests/RunCMake/XcodeProject/RunCMakeTest.cmake

@@ -3,3 +3,6 @@ include(RunCMake)
 run_cmake(XcodeFileType)
 run_cmake(XcodeAttributeGenex)
 run_cmake(XcodeAttributeGenexError)
+if (NOT XCODE_VERSION VERSION_LESS 6)
+  run_cmake(XcodePlatformFrameworks)
+endif()

+ 6 - 0
Tests/RunCMake/XcodeProject/XcodePlatformFrameworks.cmake

@@ -0,0 +1,6 @@
+enable_language(C)
+
+find_library(XCTEST_LIBRARY XCTest)
+if(NOT XCTEST_LIBRARY)
+  message(FATAL_ERROR "XCTest Framework not found.")
+endif()