diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-06-17 11:02:22 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-06-17 15:13:44 +0200 |
commit | 9862cb45328e28d06975b0245e23ef5499fc282b (patch) | |
tree | 23d08de2f38172123f473373507cd0f3bf38e60c | |
parent | 435fe4b13de43c2a3fd07f9478becf2350887e54 (diff) |
CMake: Write QT_MAC_SDK_VERSION into qconfig.pri
Task-number: QTBUG-84781
Change-Id: I9f4e979a7404dd45286e0a85a6f3772e53a2fd0b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r-- | cmake/QtAutoDetect.cmake | 30 | ||||
-rw-r--r-- | cmake/QtBuild.cmake | 4 |
2 files changed, 34 insertions, 0 deletions
diff --git a/cmake/QtAutoDetect.cmake b/cmake/QtAutoDetect.cmake index 65bbf1baeb..6e9b006d77 100644 --- a/cmake/QtAutoDetect.cmake +++ b/cmake/QtAutoDetect.cmake @@ -194,6 +194,31 @@ function(qt_auto_detect_cyclic_toolchain) endif() endfunction() +function(qt_internal_get_darwin_sdk_version out_var) + if(APPLE) + if(IOS) + set(sdk_name "iphoneos") + elseif(TVOS) + set(sdk_name "appletvos") + elseif(WATCHOS) + set(sdk_name "watchos") + else() + # Default to macOS + set(sdk_name "macosx") + endif() + set(xcrun_version_arg "--show-sdk-version") + execute_process(COMMAND /usr/bin/xcrun --sdk ${sdk_name} ${xcrun_version_arg} + OUTPUT_VARIABLE sdk_version + ERROR_VARIABLE xcrun_error) + if(NOT sdk_version) + message(FATAL_ERROR + "Can't determine darwin ${sdk_name} SDK version. Error: ${xcrun_error}") + endif() + string(STRIP "${sdk_version}" sdk_version) + set(${out_var} "${sdk_version}" PARENT_SCOPE) + endif() +endfunction() + function(qt_auto_detect_darwin) if(APPLE) # If no CMAKE_OSX_DEPLOYMENT_TARGET is provided, default to a value that Qt defines. @@ -220,6 +245,11 @@ function(qt_auto_detect_darwin) message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET set to: \"${CMAKE_OSX_DEPLOYMENT_TARGET}\".") endif() + + qt_internal_get_darwin_sdk_version(darwin_sdk_version) + set(QT_MAC_SDK_VERSION "${darwin_sdk_version}" CACHE STRING "Darwin SDK version.") + message(STATUS + "QT_MAC_SDK_VERSION set to: \"${QT_MAC_SDK_VERSION}\".") endif() endfunction() diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index cd459f251f..46442b9e96 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -1139,6 +1139,10 @@ function(qt_generate_global_config_pri_file) "${compiler_version_patch_var_name} = ${QT_COMPILER_VERSION_PATCH}") endif() + if(APPLE) + list(APPEND extra_statements "QT_MAC_SDK_VERSION = ${QT_MAC_SDK_VERSION}") + endif() + list(APPEND extra_statements "QT_EDITION = Open Source") if(extra_statements) |