aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/DarwinGCC.qbs
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/modules/cpp/DarwinGCC.qbs')
-rw-r--r--share/qbs/modules/cpp/DarwinGCC.qbs20
1 files changed, 16 insertions, 4 deletions
diff --git a/share/qbs/modules/cpp/DarwinGCC.qbs b/share/qbs/modules/cpp/DarwinGCC.qbs
index 1081d3dc5..0de1041ce 100644
--- a/share/qbs/modules/cpp/DarwinGCC.qbs
+++ b/share/qbs/modules/cpp/DarwinGCC.qbs
@@ -152,7 +152,7 @@ UnixGCC {
Rule {
multiplex: true
- inputs: ["qbs"]
+ inputs: ["qbs", "partial_infoplist"]
Artifact {
filePath: product.destinationDirectory + "/" + BundleTools.infoPlistPath(product)
@@ -163,6 +163,7 @@ UnixGCC {
var cmd = new JavaScriptCommand();
cmd.description = "generating Info.plist for " + product.name;
cmd.highlight = "codegen";
+ cmd.partialInfoPlistFiles = inputs.partial_infoplist;
cmd.infoPlistFile = ModUtils.moduleProperty(product, "infoPlistFile");
cmd.infoPlist = ModUtils.moduleProperty(product, "infoPlist") || {};
cmd.processInfoPlist = ModUtils.moduleProperty(product, "processInfoPlist");
@@ -287,6 +288,15 @@ UnixGCC {
env[key] = qmakeEnv[key];
DarwinTools.expandPlistEnvironmentVariables(aggregatePlist, env, true);
+
+ // Add keys from partial Info.plists from asset catalogs, XIBs, and storyboards
+ for (i in partialInfoPlistFiles) {
+ var partialInfoPlist = BundleTools.infoPlistContents(partialInfoPlistFiles[i].filePath) || {};
+ for (key in partialInfoPlist) {
+ if (partialInfoPlist.hasOwnProperty(key))
+ aggregatePlist[key] = partialInfoPlist[key];
+ }
+ }
}
if (infoPlistFormat === "same-as-input" && infoPlistFile)
@@ -332,8 +342,9 @@ UnixGCC {
Rule {
multiplex: true
- inputs: ["application", "infoplist", "pkginfo", "icns", "application_dsym", "compiled_nib",
- "resourcerules", "ipa"]
+ inputs: ["application", "infoplist", "pkginfo", "icns", "application_dsym",
+ "compiled_nib", "compiled_assetcatalog",
+ "resourcerules", "ipa"]
Artifact {
filePath: product.destinationDirectory + "/" + BundleTools.wrapperName(product)
@@ -351,7 +362,8 @@ UnixGCC {
Rule {
multiplex: true
- inputs: ["dynamiclibrary", "infoplist", "pkginfo", "icns", "dynamiclibrary_dsym", "compiled_nib"]
+ inputs: ["dynamiclibrary", "infoplist", "pkginfo", "icns", "dynamiclibrary_dsym",
+ "compiled_nib", "compiled_assetcatalog"]
Artifact {
filePath: product.destinationDirectory + "/" + BundleTools.wrapperName(product)