From 7dcd8d5f27f042b6b9a56cb28d9e62625e5ee7f0 Mon Sep 17 00:00:00 2001 From: Charles Doutriaux Date: Tue, 12 May 2015 14:39:01 -0700 Subject: [PATCH] matches sdk to os or fails. fix #1319 --- CMakeLists.txt | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 04a8ce7397..c9b3edbad5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,26 +119,25 @@ if(APPLE) if(IS_DIRECTORY "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk") set(HAVE_10_10_SDK TRUE) endif() - # Try for the lowest version SDK we can - if(HAVE_10_8_SDK) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -headerpad_max_install_names") - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8 CACHE STRING "" FORCE) - set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk" CACHE PATH "" FORCE) - elseif(HAVE_10_9_SDK) - set(CMAKE_C_COMPILER clang) - set(CMAKE_CXX_COMPILER clang++) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -headerpad_max_install_names") - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9 CACHE STRING "" FORCE) - set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" CACHE PATH "" FORCE) - elseif(HAVE_10_10_SDK) - set(CMAKE_C_COMPILER clang) - set(CMAKE_CXX_COMPILER clang++) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -headerpad_max_install_names") - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.10 CACHE STRING "" FORCE) - set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk" CACHE PATH "" FORCE) + if ((${OSX_VER_MAJOR} VERSION_EQUAL 8) AND (HAVE_10_8_SDK)) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -headerpad_max_install_names") + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8 CACHE STRING "" FORCE) + set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk" CACHE PATH "" FORCE) + elseif((${OS_X_VER_MAJOR} VERSION_EQUAL 9) AND (HAVE_10_9_SDK)) + set(CMAKE_C_COMPILER clang) + set(CMAKE_CXX_COMPILER clang++) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -headerpad_max_install_names") + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9 CACHE STRING "" FORCE) + set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" CACHE PATH "" FORCE) + elseif((${OSX_VER_MAJOR} VERSION_EQUAL 10) AND (HAVE_10_10_SDK)) + set(CMAKE_C_COMPILER clang) + set(CMAKE_CXX_COMPILER clang++) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -headerpad_max_install_names") + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.10 CACHE STRING "" FORCE) + set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk" CACHE PATH "" FORCE) else() - message(FATAL_ERROR "[ERROR] CMAKE_OSX_SYSROOT='${CMAKE_OSX_SYSROOT}' not found. Requires MacOS X 10.8 or higher") + message(FATAL_ERROR "[ERROR] Could not match your OS VERSION (${OSX_VER_MAJOR}.${OSX_VER_MINOR}) with any of your SDKs, or OS not supported yet") endif() endif()