diff --git a/cmake/QtAutoDetectHelpers.cmake b/cmake/QtAutoDetectHelpers.cmake index bffcfb9de46..376d92ce91f 100644 --- a/cmake/QtAutoDetectHelpers.cmake +++ b/cmake/QtAutoDetectHelpers.cmake @@ -274,6 +274,9 @@ function(qt_auto_detect_apple) endif() endif() + _qt_internal_get_apple_sdk_path(apple_sdk_path) + set(QT_APPLE_SDK_PATH "${apple_sdk_path}" CACHE STRING "Darwin SDK path.") + _qt_internal_get_apple_sdk_version(apple_sdk_version) set(QT_MAC_SDK_VERSION "${apple_sdk_version}" CACHE STRING "Darwin SDK version.") diff --git a/cmake/QtBaseConfigureTests.cmake b/cmake/QtBaseConfigureTests.cmake index 0ed9f85e594..c50723e43a2 100644 --- a/cmake/QtBaseConfigureTests.cmake +++ b/cmake/QtBaseConfigureTests.cmake @@ -274,6 +274,7 @@ function(qt_internal_print_cmake_darwin_info) endif() message(STATUS "CMAKE_OSX_ARCHITECTURES: \"${CMAKE_OSX_ARCHITECTURES}\"${default_osx_arch}") message(STATUS "CMAKE_OSX_SYSROOT: \"$CACHE{CMAKE_OSX_SYSROOT}\" / \"${CMAKE_OSX_SYSROOT}\"") + message(STATUS "QT_APPLE_SDK_PATH: \"${QT_APPLE_SDK_PATH}\"") message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: \"${CMAKE_OSX_DEPLOYMENT_TARGET}\"") message(STATUS "QT_MAC_SDK_VERSION: \"${QT_MAC_SDK_VERSION}\"") message(STATUS "QT_MAC_XCODE_VERSION: \"${QT_MAC_XCODE_VERSION}\"") diff --git a/cmake/QtPublicAppleHelpers.cmake b/cmake/QtPublicAppleHelpers.cmake index 357e22040fa..7933dc75277 100644 --- a/cmake/QtPublicAppleHelpers.cmake +++ b/cmake/QtPublicAppleHelpers.cmake @@ -859,6 +859,25 @@ function(_qt_internal_execute_xcrun out_var) set(${out_var} "${output}" PARENT_SCOPE) endfunction() +function(_qt_internal_get_apple_sdk_path out_var) + set(sdk_path "") + if(APPLE) + _qt_internal_get_apple_sdk_name(sdk_name) + _qt_internal_execute_xcrun(sdk_path + XCRUN_ARGS --sdk ${sdk_name} --show-sdk-path + OUT_ERROR_VAR xcrun_error + ) + + if(NOT sdk_path) + message(FATAL_ERROR + "Can't determine darwin ${sdk_name} SDK path. Error: ${xcrun_error}") + endif() + + string(STRIP "${sdk_path}" sdk_path) + endif() + set(${out_var} "${sdk_path}" PARENT_SCOPE) +endfunction() + function(_qt_internal_get_apple_sdk_version out_var) set(sdk_version "") if(APPLE)