diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2014-07-11 16:47:51 -0400 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-07-21 11:58:36 +0200 |
commit | 847020fb6d2b943d3e09bcc9a99b340b5821297e (patch) | |
tree | c442d9709c32c808b4e84bf3229e03b0341a191f /share | |
parent | 3d9a145965b6c98f652a19520e9b4d9c62e46eb5 (diff) |
Add support for compiling OS X icon sets.
Task-number: QBS-493
Change-Id: Ie6e4a00f672ce4305f03e00ec0b0b7ebcbd942c3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'share')
-rw-r--r-- | share/qbs/modules/cpp/DarwinGCC.qbs | 4 | ||||
-rw-r--r-- | share/qbs/modules/ib/IBModule.qbs | 31 |
2 files changed, 33 insertions, 2 deletions
diff --git a/share/qbs/modules/cpp/DarwinGCC.qbs b/share/qbs/modules/cpp/DarwinGCC.qbs index e74d4b84b..1081d3dc5 100644 --- a/share/qbs/modules/cpp/DarwinGCC.qbs +++ b/share/qbs/modules/cpp/DarwinGCC.qbs @@ -332,7 +332,7 @@ UnixGCC { Rule { multiplex: true - inputs: ["application", "infoplist", "pkginfo", "application_dsym", "compiled_nib", + inputs: ["application", "infoplist", "pkginfo", "icns", "application_dsym", "compiled_nib", "resourcerules", "ipa"] Artifact { @@ -351,7 +351,7 @@ UnixGCC { Rule { multiplex: true - inputs: ["dynamiclibrary", "infoplist", "pkginfo", "dynamiclibrary_dsym", "compiled_nib"] + inputs: ["dynamiclibrary", "infoplist", "pkginfo", "icns", "dynamiclibrary_dsym", "compiled_nib"] Artifact { filePath: product.destinationDirectory + "/" + BundleTools.wrapperName(product) diff --git a/share/qbs/modules/ib/IBModule.qbs b/share/qbs/modules/ib/IBModule.qbs index 6f30fb0a2..bee1dd9e4 100644 --- a/share/qbs/modules/ib/IBModule.qbs +++ b/share/qbs/modules/ib/IBModule.qbs @@ -14,6 +14,10 @@ Module { property stringList flags + // iconutil specific + property string iconutilName: "iconutil" + property string iconutilPath: iconutilName + // XIB/NIB specific property string ibtoolName: "ibtool" property string ibtoolPath: ibtoolName @@ -21,6 +25,7 @@ Module { // private properties property string outputFormat: "human-readable-text" + property string appleIconSuffix: ".icns" property string compiledNibSuffix: ".nib" property string ibtoolVersion: { return Ib.ibtoolVersion(ibtoolPath); } @@ -43,11 +48,37 @@ Module { } FileTagger { + patterns: ["*.iconset"] // bundle + fileTags: ["iconset"] + } + + FileTagger { patterns: ["*.nib", "*.xib"] fileTags: ["nib"] } Rule { + inputs: ["iconset"] + + Artifact { + filePath: { + var outputDirectory = BundleTools.isBundleProduct(product) + ? BundleTools.unlocalizedResourcesFolderPath(product) + : product.destinationDirectory; + return FileInfo.joinPaths(outputDirectory, input.completeBaseName + ModUtils.moduleProperty(product, "appleIconSuffix")) + } + fileTags: ["icns"] + } + + prepare: { + var args = ["--convert", "icns", "--output", output.filePath, input.filePath]; + var cmd = new Command(ModUtils.moduleProperty(product, "iconutilPath"), args); + cmd.description = ModUtils.moduleProperty(product, "iconutilName") + ' ' + input.fileName; + return cmd; + } + } + + Rule { inputs: ["nib"] explicitlyDependsOn: ["infoplist"] |