summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-06-17 11:02:22 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-06-17 15:13:44 +0200
commit9862cb45328e28d06975b0245e23ef5499fc282b (patch)
tree23d08de2f38172123f473373507cd0f3bf38e60c
parent435fe4b13de43c2a3fd07f9478becf2350887e54 (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.cmake30
-rw-r--r--cmake/QtBuild.cmake4
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)