From 6ac610c79bf7f311ee244d45583eb669ada58781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 31 Jul 2019 15:42:46 +0200 Subject: [PATCH] Allow specifying explicit SDK version on Apple platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This enables building against the latest SDK, while still opting out of features that this SDK normally enables, by lowering the SDK version set in the BUILD_VERSION/VERSION_MIN_MACOSX load command. Change-Id: Id5f13524740bfbf5eda10a5d0c2e3fda04bf3f52 Reviewed-by: Jörg Bornemann Reviewed-by: Morten Johan Sørvig Reviewed-by: Timur Pocheptsov --- mkspecs/features/mac/default_post.prf | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf index f34b305d08c..60b2eb2117b 100644 --- a/mkspecs/features/mac/default_post.prf +++ b/mkspecs/features/mac/default_post.prf @@ -1,5 +1,9 @@ load(default_post) +# Recompute SDK version in case the user set it explicitly +sdk_version = $$QMAKE_MAC_SDK_VERSION +QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) + contains(TEMPLATE, .*app) { !macx-xcode:if(isEmpty(BUILDS)|build_pass) { # Detect changes to the platform SDK @@ -14,7 +18,7 @@ contains(TEMPLATE, .*app) { !versionAtLeast(QMAKE_MAC_SDK_VERSION, $$QT_MAC_SDK_VERSION_MIN): \ warning("Qt requires at least version $$QT_MAC_SDK_VERSION_MIN of the platform SDK," \ - "you're using $${QMAKE_MAC_SDK_VERSION}. Please upgrade.") + "you're building against version $${QMAKE_MAC_SDK_VERSION}. Please upgrade.") !isEmpty(QT_MAC_SDK_VERSION_MAX) { # For Qt developers only @@ -244,6 +248,11 @@ macx-xcode { QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT} } +!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) { + # Explicit SDK version has been set, respect that + QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version +} + cache(QMAKE_XCODE_DEVELOPER_PATH, stash) !isEmpty(QMAKE_XCODE_VERSION): \ cache(QMAKE_XCODE_VERSION, stash)