diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2020-04-02 14:14:13 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2020-04-06 09:10:20 +0000 |
commit | 0ec4baf922ce4547ec7f61dba6f9369874834d18 (patch) | |
tree | 62bd82efe960c0e4a6f8c25f5ffea9867f20cdbe /share | |
parent | d1ad96d31b06f173e5bf494aad322a4790528e88 (diff) |
Darwin: Adapt to Xcode 11.4
The "Version" entry in SDKSettings.plist has three digits now.
Also adapt the deploymentData autotest to take into account that we no
longer pass the "version_min" options.
Fixes: QBS-1543
Change-Id: Ibc1bcfd44583721c4bed1db812eca892ee316eeb
Reviewed-by: Leon Buckel <leon.buckel@clausmark.com>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'share')
-rw-r--r-- | share/qbs/modules/xcode/xcode.js | 16 | ||||
-rw-r--r-- | share/qbs/modules/xcode/xcode.qbs | 16 |
2 files changed, 13 insertions, 19 deletions
diff --git a/share/qbs/modules/xcode/xcode.js b/share/qbs/modules/xcode/xcode.js index bda41ade9..d20d9cf0c 100644 --- a/share/qbs/modules/xcode/xcode.js +++ b/share/qbs/modules/xcode/xcode.js @@ -114,7 +114,7 @@ function sdkInfoList(sdksPath) { if (!plist || !plist["CanonicalName"] || !plist["Version"]) return false; - var re = /^([0-9]+)\.([0-9]+)$/; + var re = /^[0-9]+\.[0-9]+(\.[0-9]+)?$/; return plist["Version"].match(re); } @@ -132,19 +132,7 @@ function sdkInfoList(sdksPath) { } // Sort by SDK version number - sdkInfo.sort(function (a, b) { - var re = /^([0-9]+)\.([0-9]+)$/; - a = a["Version"].match(re); - if (a) - a = {major: a[1], minor: a[2]}; - b = b["Version"].match(re); - if (b) - b = {major: b[1], minor: b[2]}; - - if (a.major === b.major) - return a.minor - b.minor; - return a.major - b.major; - }); + sdkInfo.sort(function (a, b) { return Utilities.versionCompare(a["Version"], b["Version"]); }); return sdkInfo; } diff --git a/share/qbs/modules/xcode/xcode.qbs b/share/qbs/modules/xcode/xcode.qbs index 648948192..7bbb29c6e 100644 --- a/share/qbs/modules/xcode/xcode.qbs +++ b/share/qbs/modules/xcode/xcode.qbs @@ -49,6 +49,12 @@ Module { return _sdkSettings["Version"]; } } + readonly property string shortSdkVersion: { + var v = sdkVersion; + if (v && v.split('.').length > 2) + v = v.slice(0, v.lastIndexOf('.')); + return v; + } readonly property string latestSdkName: { if (_latestSdk) { @@ -117,8 +123,8 @@ Module { + ".platform") readonly property path sdkPath: FileInfo.joinPaths(sdksPath, DarwinTools.applePlatformDirectoryName( - qbs.targetOS, platformType, sdkVersion) - + ".sdk") + qbs.targetOS, platformType, + shortSdkVersion) + ".sdk") // private properties readonly property path toolchainsPath: FileInfo.joinPaths(developerPath, "Toolchains") @@ -206,14 +212,14 @@ Module { validator.setRequiredProperty("platformPath", platformPath); validator.setRequiredProperty("sdksPath", sdkPath); validator.setRequiredProperty("sdkPath", sdkPath); - validator.addVersionValidator("sdkVersion", sdkVersion, 2, 2); + validator.addVersionValidator("sdkVersion", sdkVersion, 2, 3); validator.addCustomValidator("sdkName", sdkName, function (value) { return value === DarwinTools.applePlatformDirectoryName( - qbs.targetOS, platformType, sdkVersion, false).toLowerCase(); + qbs.targetOS, platformType, shortSdkVersion, false).toLowerCase(); }, "is '" + sdkName + "', but target OS is [" + qbs.targetOS.join(",") + "] and Xcode SDK version is '" + sdkVersion + "'"); validator.addCustomValidator("sdk", sdk, function (value) { - return value === sdkName || (value + sdkVersion) === sdkName; + return value === sdkName || (value + shortSdkVersion) === sdkName; }, "is '" + sdk + "', but canonical SDK name is '" + sdkName + "'"); validator.validate(); } |