aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-04-03 12:24:12 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-04-03 13:18:43 +0200
commit87c7b7ec82193527f30fc248fe61c256fa34b608 (patch)
tree87439cf6aabcf8d2cd462b6135a27fbdcca2c33e /share
parentc6b3e48556c24c84283234231f383c186e07edd5 (diff)
Add rules for qhp and qch file generation.
Since qdoc works in a rather idiosyncratic way, we have to introduce special properties for the output file name as well as the process environment. Change-Id: I3797b3bf393b14c8a9bc671c56f0185515f8ef3f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/qt/core/qtcore.qbs73
1 files changed, 73 insertions, 0 deletions
diff --git a/share/qbs/modules/qt/core/qtcore.qbs b/share/qbs/modules/qt/core/qtcore.qbs
index 02477bb93..70bc356a4 100644
--- a/share/qbs/modules/qt/core/qtcore.qbs
+++ b/share/qbs/modules/qt/core/qtcore.qbs
@@ -18,6 +18,10 @@ Module {
property string mkspecPath
property string mocName: "moc"
property string lreleaseName: "lrelease"
+ property string qdocName: versionMajor >= 5 ? "qdoc" : "qdoc3"
+ property var qdocEnvironment
+ property var qdocQhpFileName
+ property var helpGeneratorArgs: versionMajor >= 5 ? ["-platform", "minimal"] : []
property string version: "4.7.0"
property var versionParts: version.split('.').map(function(item) { return parseInt(item, 10); })
property var versionMajor: versionParts[0]
@@ -109,6 +113,21 @@ Module {
fileTags: ["ts"]
}
+ FileTagger {
+ pattern: "*.qdoc"
+ fileTags: ["qdoc"]
+ }
+
+ FileTagger {
+ pattern: "*.qdocconf"
+ fileTags: ["qdocconf"]
+ }
+
+ FileTagger {
+ pattern: "*.qhp"
+ fileTags: ["qhp"]
+ }
+
Rule {
inputs: ["moc_cpp"]
@@ -197,4 +216,58 @@ Module {
return cmd;
}
}
+
+ Rule {
+ inputs: "qdocconf-main"
+ explicitlyDependsOn: ["qdoc", "qdocconf"]
+
+ Artifact {
+ fileName: 'GeneratedFiles/' + product.name + '/html'
+ fileTags: ["qdoc-html"]
+ }
+
+ Artifact {
+ fileName: 'GeneratedFiles/' + product.name + '/html/'
+ + ModUtils.moduleProperty(product, "qdocQhpFileName")
+ fileTags: ["qhp"]
+ }
+
+ prepare: {
+ var outputDir = outputs["qdoc-html"][0].fileName;
+ var args = [input.fileName];
+ var qtVersion = ModUtils.moduleProperty(product, "versionMajor");
+ if (qtVersion >= 5) {
+ args.push("-outputdir");
+ args.push(outputDir);
+ }
+ var cmd = new Command(ModUtils.moduleProperty(product, "binPath") + '/'
+ + ModUtils.moduleProperty(product, "qdocName"), args);
+ cmd.description = 'qdoc ' + FileInfo.fileName(input.fileName);
+ cmd.highlight = 'filegen';
+ cmd.environment = ModUtils.moduleProperty(product, "qdocEnvironment");
+ cmd.environment.push("OUTDIR=" + outputDir); // Qt 4 replacement for -outputdir
+ return cmd;
+ }
+ }
+
+ Rule {
+ inputs: "qhp"
+
+ Artifact {
+ fileName: 'GeneratedFiles/' + product.name + '/' + input.completeBaseName + '.qch'
+ fileTags: ["qch"]
+ }
+
+ prepare: {
+ var args = [input.fileName];
+ args = args.concat(ModUtils.moduleProperty(product, "helpGeneratorArgs"));
+ args.push("-o");
+ args.push(output.fileName);
+ var cmd = new Command(ModUtils.moduleProperty(product, "binPath") + "/qhelpgenerator",
+ args);
+ cmd.description = 'qhelpgenerator ' + FileInfo.fileName(input.fileName);
+ cmd.highlight = 'filegen';
+ return cmd;
+ }
+ }
}