diff options
Diffstat (limited to 'share/qbs/modules/xcode/xcode.js')
-rw-r--r-- | share/qbs/modules/xcode/xcode.js | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/share/qbs/modules/xcode/xcode.js b/share/qbs/modules/xcode/xcode.js index c6c77ca73..726974579 100644 --- a/share/qbs/modules/xcode/xcode.js +++ b/share/qbs/modules/xcode/xcode.js @@ -112,7 +112,7 @@ function sdkInfoList(sdksPath) { if (!sdks[i].match(/[0-9]+/)) continue; - if (sdks[i].startsWith("DriverKit")) + if (sdks[i].startsWith("DriverKit") || sdks[i].startsWith("AssetRuntime")) continue; var settingsPlist = FileInfo.joinPaths(sdksPath, sdks[i], "SDKSettings.plist"); @@ -205,27 +205,38 @@ function boolFromSdkOrPlatform(varName, sdkProps, platformProps, defaultValue) { function archsSpecsPath(version, targetOS, platformType, platformPath, devicePlatformPath, developerPath) { if (Utilities.versionCompare(version, "13.3") >= 0) { - var baseDir = FileInfo.joinPaths(developerPath, "..", - "PlugIns/XCBSpecifications.ideplugin/Contents/Resources"); - var baseName = targetOS.contains("macos") ? "MacOSX Architectures" - : targetOS.contains("ios-simulator") ? "iOS Simulator" - : targetOS.contains("ios") ? "iOS Device" - : targetOS.contains("tvos-simulator") ? "tvOS Simulator" - : targetOS.contains("tvos") ? "tvOS Device" - : targetOS.contains("watchos-simulator") ? "watchOS Simulator" : "watchOS Device"; + var pluginsDir; + if (Utilities.versionCompare(version, "15.3") >= 0) { + pluginsDir = FileInfo.joinPaths(developerPath, "..", + "SharedFrameworks", "XCBuild.framework", "PlugIns", "XCBBuildService.bundle", + "Contents", "PlugIns"); + } else if (Utilities.versionCompare(version, "14.3") >= 0) { + pluginsDir = FileInfo.joinPaths(developerPath, "Library", "Xcode", "Plug-ins"); + } else { + pluginsDir = FileInfo.joinPaths(developerPath, "..", "PlugIns"); + } + var baseDir = FileInfo.joinPaths(pluginsDir, + "XCBSpecifications.ideplugin", "Contents", "Resources"); + + var baseName = targetOS.includes("macos") ? "MacOSX Architectures" + : targetOS.includes("ios-simulator") ? "iOS Simulator" + : targetOS.includes("ios") ? "iOS Device" + : targetOS.includes("tvos-simulator") ? "tvOS Simulator" + : targetOS.includes("tvos") ? "tvOS Device" + : targetOS.includes("watchos-simulator") ? "watchOS Simulator" : "watchOS Device"; return FileInfo.joinPaths(baseDir, baseName + ".xcspec"); } var _specsPluginBaseName; if (Utilities.versionCompare(version, "12") >= 0) { - if (targetOS.contains("macos")) + if (targetOS.includes("macos")) _specsPluginBaseName = "OSX"; } if (Utilities.versionCompare(version, "7") >= 0) { - if (targetOS.contains("ios")) + if (targetOS.includes("ios")) _specsPluginBaseName = "iOSPlatform"; - if (targetOS.contains("tvos")) + if (targetOS.includes("tvos")) _specsPluginBaseName = "AppleTV"; - if (targetOS.contains("watchos")) + if (targetOS.includes("watchos")) _specsPluginBaseName = "Watch"; } @@ -236,8 +247,8 @@ function archsSpecsPath(version, targetOS, platformType, platformPath, devicePla "Resources") : FileInfo.joinPaths(platformPath, "Developer", "Library", "Xcode", "Specifications"); - var _archSpecsFileBaseName = targetOS.contains("ios") - ? (targetOS.contains("ios-simulator") ? "iPhone Simulator " : "iPhoneOS") + var _archSpecsFileBaseName = targetOS.includes("ios") + ? (targetOS.includes("ios-simulator") ? "iPhone Simulator " : "iPhoneOS") : DarwinTools.applePlatformDirectoryName(targetOS, platformType) + " "; if (_specsPluginBaseName) { |