diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2013-04-03 12:24:12 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-04-03 13:18:43 +0200 |
commit | 87c7b7ec82193527f30fc248fe61c256fa34b608 (patch) | |
tree | 87439cf6aabcf8d2cd462b6135a27fbdcca2c33e /share | |
parent | c6b3e48556c24c84283234231f383c186e07edd5 (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.qbs | 73 |
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; + } + } } |