Darwin: Remove deployment target version check
Starting with Xcode 8 the SDK folder also contains an unversioned entry: MacOSX.sdk MacOSX10.12.sdk -> MacOSX.sdk If this unversioned path is used CMake cannot detect the SDK version. Furthermore, querying the SDK version via xcodebuild -sdk <sysroot> -version Path gives bogus results for the Command Line Tools installed into `/`. The OS X deployment target version and SDK version are not as tied as they once were, so this check is now more trouble than it is worth. Simply remove it. Closes: #16323
This commit is contained in:
parent
542d52f95e
commit
935041908d
|
@ -113,7 +113,6 @@ set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_DEFAULT}" CACHE ${_CMAKE_OSX_SYSROOT
|
||||||
"The product will be built against the headers and libraries located inside the indicated SDK.")
|
"The product will be built against the headers and libraries located inside the indicated SDK.")
|
||||||
|
|
||||||
# Transform the cached value to something we can use.
|
# Transform the cached value to something we can use.
|
||||||
set(_CMAKE_OSX_SYSROOT_ORIG "${CMAKE_OSX_SYSROOT}")
|
|
||||||
set(_CMAKE_OSX_SYSROOT_PATH "")
|
set(_CMAKE_OSX_SYSROOT_PATH "")
|
||||||
if(CMAKE_OSX_SYSROOT)
|
if(CMAKE_OSX_SYSROOT)
|
||||||
if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")
|
if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")
|
||||||
|
@ -122,7 +121,6 @@ if(CMAKE_OSX_SYSROOT)
|
||||||
message(WARNING "Ignoring CMAKE_OSX_SYSROOT value:\n ${CMAKE_OSX_SYSROOT}\n"
|
message(WARNING "Ignoring CMAKE_OSX_SYSROOT value:\n ${CMAKE_OSX_SYSROOT}\n"
|
||||||
"because the directory does not exist.")
|
"because the directory does not exist.")
|
||||||
set(CMAKE_OSX_SYSROOT "")
|
set(CMAKE_OSX_SYSROOT "")
|
||||||
set(_CMAKE_OSX_SYSROOT_ORIG "")
|
|
||||||
endif()
|
endif()
|
||||||
set(_CMAKE_OSX_SYSROOT_PATH "${CMAKE_OSX_SYSROOT}")
|
set(_CMAKE_OSX_SYSROOT_PATH "${CMAKE_OSX_SYSROOT}")
|
||||||
else()
|
else()
|
||||||
|
|
|
@ -64,30 +64,6 @@ if(NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
|
||||||
mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
|
mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Make sure the combination of SDK and Deployment Target are allowed
|
|
||||||
if(CMAKE_OSX_DEPLOYMENT_TARGET)
|
|
||||||
if("${_CMAKE_OSX_SYSROOT_PATH}" MATCHES "/MacOSX([0-9]+\\.[0-9]+)[^/]*\\.sdk")
|
|
||||||
set(_sdk_ver "${CMAKE_MATCH_1}")
|
|
||||||
elseif("${_CMAKE_OSX_SYSROOT_ORIG}" MATCHES "^macosx([0-9]+\\.[0-9]+)$")
|
|
||||||
set(_sdk_ver "${CMAKE_MATCH_1}")
|
|
||||||
elseif("${_CMAKE_OSX_SYSROOT_ORIG}" STREQUAL "/")
|
|
||||||
set(_sdk_ver "${_CURRENT_OSX_VERSION}")
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR
|
|
||||||
"CMAKE_OSX_DEPLOYMENT_TARGET is '${CMAKE_OSX_DEPLOYMENT_TARGET}' "
|
|
||||||
"but CMAKE_OSX_SYSROOT:\n \"${_CMAKE_OSX_SYSROOT_ORIG}\"\n"
|
|
||||||
"is not set to a MacOSX SDK with a recognized version. "
|
|
||||||
"Either set CMAKE_OSX_SYSROOT to a valid SDK or set "
|
|
||||||
"CMAKE_OSX_DEPLOYMENT_TARGET to empty.")
|
|
||||||
endif()
|
|
||||||
if(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER "${_sdk_ver}")
|
|
||||||
message(FATAL_ERROR
|
|
||||||
"CMAKE_OSX_DEPLOYMENT_TARGET (${CMAKE_OSX_DEPLOYMENT_TARGET}) "
|
|
||||||
"is greater than CMAKE_OSX_SYSROOT SDK:\n ${_CMAKE_OSX_SYSROOT_ORIG}\n"
|
|
||||||
"Please set CMAKE_OSX_DEPLOYMENT_TARGET to ${_sdk_ver} or lower.")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Enable shared library versioning.
|
# Enable shared library versioning.
|
||||||
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
|
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue