diff options
Diffstat (limited to 'share')
-rw-r--r-- | share/qbs/imports/qbs/DarwinTools/darwin-tools.js | 31 | ||||
-rw-r--r-- | share/qbs/modules/bundle/BundleModule.qbs | 6 |
2 files changed, 19 insertions, 18 deletions
diff --git a/share/qbs/imports/qbs/DarwinTools/darwin-tools.js b/share/qbs/imports/qbs/DarwinTools/darwin-tools.js index 889720fcd..5f9076004 100644 --- a/share/qbs/imports/qbs/DarwinTools/darwin-tools.js +++ b/share/qbs/imports/qbs/DarwinTools/darwin-tools.js @@ -162,17 +162,17 @@ var PropertyListVariableExpander = (function () { * Finds the first index of a replacement starting with one of the supported syntaxes * This is needed so we don't do recursive substitutions */ - function indexOfReplacementStart(syntaxes, str, offset) { + function indexOfReplacementStart(syntaxes, str) { var syntax; - var idx = str.length; + var idx = -1; for (var i in syntaxes) { - var j = str.indexOf(syntaxes[i].open, offset); - if (j !== -1 && j < idx) { + var j = str.lastIndexOf(syntaxes[i].open); + if (j > idx) { syntax = syntaxes[i]; idx = j; } } - return { "syntax": syntax, "index": idx === str.length ? -1 : idx }; + return { "syntax": syntax, "index": idx }; } function expandRecursive(obj, env, checked) { @@ -202,19 +202,16 @@ var PropertyListVariableExpander = (function () { // skip replacement if ($this.undefinedVariableFunction) $this.undefinedVariableFunction(key, varName); - i = j + repl.syntax.close.length; - } else { - changes = true; - varValue = String(varValue); - if (varFormatter !== undefined) - varFormatter = varFormatter.toLowerCase(); - if (varFormatter === "rfc1034identifier") - varValue = Utilities.rfc1034Identifier(varValue); - value = value.slice(0, i) + varValue + value.slice(j + repl.syntax.close.length); - // avoid recursive substitutions to avoid potentially infinite loops - i += varValue.length; + varValue = ""; } - repl = indexOfReplacementStart(syntaxes, value, i); + varValue = String(varValue); + if (varFormatter !== undefined) + varFormatter = varFormatter.toLowerCase(); + if (varFormatter === "rfc1034identifier") + varValue = Utilities.rfc1034Identifier(varValue); + value = value.slice(0, i) + varValue + value.slice(j + repl.syntax.close.length); + changes = true; + repl = indexOfReplacementStart(syntaxes, value); i = repl.index; } if (changes) diff --git a/share/qbs/modules/bundle/BundleModule.qbs b/share/qbs/modules/bundle/BundleModule.qbs index f1845fe30..1e83dc458 100644 --- a/share/qbs/modules/bundle/BundleModule.qbs +++ b/share/qbs/modules/bundle/BundleModule.qbs @@ -63,9 +63,13 @@ Module { "GENERATE_PKGINFO_FILE": generatePackageInfo !== undefined ? (generatePackageInfo ? "YES" : "NO") : undefined, + "IS_MACCATALYST": "NO", + "LD_RUNPATH_SEARCH_PATHS_NO": [], "PRODUCT_NAME": product.targetName, "LOCAL_APPS_DIR": Environment.getEnv("HOME") + "/Applications", "LOCAL_LIBRARY_DIR": Environment.getEnv("HOME") + "/Library", + "SWIFT_PLATFORM_TARGET_PREFIX": isMacOs ? "macos" + : qbs.targetOS.contains("ios") ? "ios" : "", "TARGET_BUILD_DIR": product.buildDirectory, "WRAPPER_NAME": bundleName, "WRAPPER_EXTENSION": extension @@ -427,7 +431,7 @@ Module { || {}; for (key in partialInfoPlist) { if (partialInfoPlist.hasOwnProperty(key) - && !aggregatePlist.hasOwnProperty(key)) + && aggregatePlist[key] === undefined) aggregatePlist[key] = partialInfoPlist[key]; } } |