summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_docs_targets.prf
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2012-11-28 14:51:40 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-28 16:21:57 +0100
commitbc6228c3f410a51db9aaa97b6ce3f5f7093ffc20 (patch)
tree496ee0322e6d02f38d4ecc332266c80d163961cf /mkspecs/features/qt_docs_targets.prf
parentc0764ab9a1927008973da146c553982231055212 (diff)
factor out qt_docs_targets.prf
instead of letting *every* qmake-based project have recursive docs targets, let qt modules "subscribe" to it explicitly by having load(qt_build_config) in their .qmake.conf (which they already do). Change-Id: I97b74591fd0c4bd5f8b08c5f550df9c7eef2f556 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Diffstat (limited to 'mkspecs/features/qt_docs_targets.prf')
-rw-r--r--mkspecs/features/qt_docs_targets.prf52
1 files changed, 52 insertions, 0 deletions
diff --git a/mkspecs/features/qt_docs_targets.prf b/mkspecs/features/qt_docs_targets.prf
new file mode 100644
index 0000000000..69eefe9285
--- /dev/null
+++ b/mkspecs/features/qt_docs_targets.prf
@@ -0,0 +1,52 @@
+!contains(QMAKE_EXTRA_TARGETS, docs) {
+ contains(TEMPLATE, subdirs) {
+ prepare_docs {
+ prepareRecursiveTarget(prepare_docs)
+ prepareRecursiveTarget(generate_docs)
+ html_docs.commands = $(MAKE) -f $(MAKEFILE) prepare_docs && $(MAKE) -f $(MAKEFILE) generate_docs
+ } else {
+ prepareRecursiveTarget(html_docs)
+ }
+ prepareRecursiveTarget(qch_docs)
+ prepareRecursiveTarget(docs)
+ } else {
+ # apps and libs only generate docs if QMAKE_DOCS is set
+ !isEmpty(QMAKE_DOCS) {
+ !exists($$QMAKE_DOCS):error("Cannot find documentation specification file $$QMAKE_DOCS")
+ qtPrepareTool(QDOC, qdoc)
+ for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index
+ !isEmpty(QMAKE_DOCS_OUTPUTDIR):QMAKE_DOCS_OPTIONS += -outputdir $$QMAKE_DOCS_OUTPUTDIR
+ !isEmpty(QMAKE_DOCS_INSTALLDIR):QMAKE_DOCS_OPTIONS += -installdir $$QMAKE_DOCS_INSTALLDIR
+ doc_command = $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS
+ prepare_docs {
+ prepare_docs.commands += $$doc_command -prepare -no-link-errors
+ generate_docs.commands += $$doc_command -generate
+ html_docs.depends += generate_docs
+ } else {
+ html_docs.commands += $$doc_command
+ }
+
+ qtPrepareTool(QHELPGENERATOR, qhelpgenerator)
+ isEmpty(QMAKE_DOCS_TARGET): QMAKE_DOCS_TARGET = $$basename(QMAKE_DOCS_OUTPUTDIR)
+ qch_docs.commands = $$QHELPGENERATOR $$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp -o $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
+ }
+ }
+ docs.commands = $(MAKE) -f $(MAKEFILE) html_docs && $(MAKE) -f $(MAKEFILE) qch_docs
+ QMAKE_EXTRA_TARGETS += html_docs qch_docs docs
+ prepare_docs: QMAKE_EXTRA_TARGETS += prepare_docs generate_docs
+}
+
+!contains(QMAKE_EXTRA_TARGETS, install_docs) {
+ contains(TEMPLATE, subdirs) {
+ prepareRecursiveTarget(install_html_docs)
+ prepareRecursiveTarget(uninstall_html_docs)
+ prepareRecursiveTarget(install_qch_docs)
+ prepareRecursiveTarget(uninstall_qch_docs)
+ prepareRecursiveTarget(install_docs)
+ prepareRecursiveTarget(uninstall_docs)
+ }
+ QMAKE_EXTRA_TARGETS += \
+ install_html_docs uninstall_html_docs \
+ install_qch_docs uninstall_qch_docs \
+ install_docs uninstall_docs
+}