OS X: Look for Xcode 5 platform-specific Frameworks

The Xcode 5 platform specific framework locations differ from the Xcode
6 ones.  Look first for the Xcode 6 ones, then for iOS Xcode 5 ones and
last for the Xcode 5 OS X ones.

For reference, the XCTest.framework is located as follows:

 Xcode511.app/Contents/Developer/Library/Frameworks/XCTest.framework
 Xcode511.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/Developer/Library/Frameworks/XCTest.framework
 Xcode511.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/Developer/Library/Frameworks/XCTest.framework

 Xcode601.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework
 Xcode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework
 Xcode601.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks/XCTest.framework

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
This commit is contained in:
Gregor Jasny 2015-03-20 23:48:22 +01:00 committed by Brad King
parent 64e97edad7
commit 52642b466e
1 changed files with 14 additions and 6 deletions

View File

@ -167,12 +167,20 @@ if(_CMAKE_OSX_SYSROOT_PATH)
${_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})
foreach(_path
# Xcode 6
${_CMAKE_OSX_SYSROOT_PATH}/../../Library/Frameworks
# Xcode 5 iOS
${_CMAKE_OSX_SYSROOT_PATH}/Developer/Library/Frameworks
# Xcode 5 OSX
${_CMAKE_OSX_SYSROOT_PATH}/../../../../../Library/Frameworks
)
get_filename_component(_abolute_path "${_path}" ABSOLUTE)
if(EXISTS "${_abolute_path}")
list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH "${_abolute_path}")
break()
endif()
endforeach()
endif()
list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH
/Library/Frameworks