aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs')
-rw-r--r--share/qbs/imports/qbs/DarwinTools/darwin-tools.js31
-rw-r--r--share/qbs/modules/bundle/BundleModule.qbs6
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];
}
}