diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2016-10-17 11:14:30 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2016-10-28 11:01:46 +0000 |
commit | 7f73d219d3b38c91bb666450a94d8e98b8aecc53 (patch) | |
tree | 1bc1a336b98c581560d1d619a92d6802082aa187 /src | |
parent | f829298a6f9810ad6182984cd56315846368fd98 (diff) |
Add support for generating qrc files
[ChangeLog] Added support for generating qrc files.
Change-Id: I9c5d703fcb6f8c14606d5abf66e8edfd4959f364
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/qtprofilesetup/templates/core.qbs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/lib/qtprofilesetup/templates/core.qbs b/src/lib/qtprofilesetup/templates/core.qbs index 325006cd7..7d9eda360 100644 --- a/src/lib/qtprofilesetup/templates/core.qbs +++ b/src/lib/qtprofilesetup/templates/core.qbs @@ -1,6 +1,7 @@ import qbs 1.0 import qbs.FileInfo import qbs.ModUtils +import qbs.TextFile import qbs.Utilities import "moc.js" as Moc import "qdoc.js" as Qdoc @@ -268,6 +269,44 @@ Module { } } + property path resourceSourceBase: product.sourceDirectory + property string resourcePrefix: "/" + Rule { + multiplex: true + inputs: ["qt.core.resource_data"] + Artifact { + filePath: "__qbs_auto_" + product.name + ".qrc" + fileTags: ["qrc"] + } + prepare: { + var cmd = new JavaScriptCommand(); + cmd.description = "generating " + output.fileName; + cmd.sourceCode = function() { + var qrcFile = new TextFile(output.filePath, TextFile.WriteOnly); + try { + qrcFile.writeLine('<!DOCTYPE RCC>'); + qrcFile.writeLine('<RCC version="1.0">'); + var prefix = inputs["qt.core.resource_data"][0].moduleProperty("Qt.core", + "resourcePrefix"); + qrcFile.writeLine('<qresource prefix ="' + prefix + '">'); + for (var i = 0; i < inputs["qt.core.resource_data"].length; ++i) { + var inp = inputs["qt.core.resource_data"][i]; + var fullResPath = inp.filePath; + var baseDir = inp.moduleProperty("Qt.core", "resourceSourceBase"); + var relResPath = FileInfo.relativePath(baseDir, fullResPath); + qrcFile.writeLine('<file alias = "' + relResPath + '">' + + fullResPath + '</file>'); + } + qrcFile.writeLine('</qresource>'); + qrcFile.writeLine('</RCC>'); + } finally { + qrcFile.close(); + } + }; + return [cmd]; + } + } + Rule { inputs: ["qrc"] |