aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/qtprofilesetup/templates
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2015-11-19 11:31:15 +0100
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2015-11-19 11:46:36 +0000
commit827fbcab34c871fa8c67101fe93b2c988f8b0ee9 (patch)
tree654be596cef25794ff9f8f0125b2136b9797b4ee /src/lib/qtprofilesetup/templates
parent953593e5d36445a96282f7c6fdf564961bede53d (diff)
Qt Core module: Make the lrelease rule optionally a multiplex rule.
lrelease takes a number of ts files and produces a qm output, so it is technically a multiplex rule. However, normally users have one ts file per language and want a 1:1 mapping. So we need to make this configurable as not to force people to create one product per ts file. Change-Id: I1b14eca6b52fd18a792e1ba26e3fe55db371ae3b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/lib/qtprofilesetup/templates')
-rw-r--r--src/lib/qtprofilesetup/templates/core.qbs23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/lib/qtprofilesetup/templates/core.qbs b/src/lib/qtprofilesetup/templates/core.qbs
index 9611997fc..247d3b083 100644
--- a/src/lib/qtprofilesetup/templates/core.qbs
+++ b/src/lib/qtprofilesetup/templates/core.qbs
@@ -73,7 +73,10 @@ Module {
// We don't want to resolve them against the source directory
property string generatedFilesDir: product.buildDirectory + "/GeneratedFiles"
property string qdocOutputDir: FileInfo.joinPaths(generatedFilesDir, "html")
- property string qmFilesDir: product.destinationDirectory
+ property string qmDir: product.destinationDirectory
+ property string qmBaseName: product.targetName
+ property string qmFilesDir: qmDir // TODO: Remove in 1.6
+ property bool lreleaseMultiplexMode: false
cpp.defines: {
var defines = @defines@;
@@ -283,18 +286,26 @@ Module {
Rule {
inputs: ["ts"]
+ multiplex: ModUtils.moduleProperty(product, "lreleaseMultiplexMode")
Artifact {
- filePath: FileInfo.joinPaths(ModUtils.moduleProperty(product, "qmFilesDir"),
- input.completeBaseName + ".qm")
+ filePath: FileInfo.joinPaths(ModUtils.moduleProperty(product, "qmDir"),
+ (ModUtils.moduleProperty(product, "lreleaseMultiplexMode")
+ ? ModUtils.moduleProperty(product, "qmBaseName")
+ : input.baseName) + ".qm")
fileTags: ["qm"]
}
prepare: {
+ var inputFilePaths;
+ if (ModUtils.moduleProperty(product, "lreleaseMultiplexMode"))
+ inputFilePaths = inputs["ts"].map(function(artifact) { return artifact.filePath; });
+ else
+ inputFilePaths = [input.filePath];
+ var args = ['-silent', '-qm', output.filePath].concat(inputFilePaths);
var cmd = new Command(ModUtils.moduleProperty(product, "binPath") + '/'
- + ModUtils.moduleProperty(product, "lreleaseName"),
- ['-silent', input.filePath, '-qm', output.filePath]);
- cmd.description = 'lrelease ' + input.fileName;
+ + ModUtils.moduleProperty(product, "lreleaseName"), args);
+ cmd.description = 'Creating ' + output.fileName;
cmd.highlight = 'filegen';
return cmd;
}