summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_docs.prf
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-01-08 17:06:43 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-01-08 18:51:26 +0000
commitc04cf29b78f3f5747c58dd89ca21523e387ee3ac (patch)
tree1298e82fa6b4a2998db49191718746d6caebe5de /mkspecs/features/qt_docs.prf
parent1949f24faf29c9f2dc620d2bda3383932f1f7148 (diff)
fix docs creation in debug_and_release builds
qtAddToolEnv() (via qtPrepareTool()) does not write the tool wrapper scripts during build passes, while qt_docs.prf (which calls it for qdoc and qhelpgenerator) was loaded only during build passes. the consequence was that the makefiles tried calling non-existent scripts. amends 5418d77a1, sort of. Change-Id: I64ab573495ca339be4c7b5e8c6848b298b6cb605 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'mkspecs/features/qt_docs.prf')
-rw-r--r--mkspecs/features/qt_docs.prf23
1 files changed, 15 insertions, 8 deletions
diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
index 37b2f06193..183d0c9502 100644
--- a/mkspecs/features/qt_docs.prf
+++ b/mkspecs/features/qt_docs.prf
@@ -11,13 +11,6 @@
!exists($$QMAKE_DOCS): error("Cannot find documentation specification file $$QMAKE_DOCS")
-load(qt_build_paths)
-QMAKE_DOCS_BASE_OUTDIR = $$MODULE_BASE_OUTDIR/doc
-
-QMAKE_DOCS_TARGET = $$replace(QMAKE_DOCS, ^(.*/)?(.*)\\.qdocconf$, \\2)
-isEmpty(QMAKE_DOCS_TARGETDIR): QMAKE_DOCS_TARGETDIR = $$QMAKE_DOCS_TARGET
-QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
-
qtver.name = QT_VERSION
qtver.value = $$VERSION
isEmpty(qtver.value): qtver.value = $$MODULE_VERSION
@@ -31,6 +24,21 @@ qtdocs.value = $$[QT_INSTALL_DOCS/src]
QT_TOOL_ENV = qtver qtmver qtvertag qtdocs
qtPrepareTool(QDOC, qdoc)
QT_TOOL_ENV =
+
+!build_online_docs: qtPrepareTool(QHELPGENERATOR, qhelpgenerator)
+
+# qtPrepareTool() must be called outside a build pass, as it protects
+# against concurrent wrapper creation by omitting it during build passes.
+# However, creating the actual targets is reserved to the build passes.
+debug_and_release:!build_pass: return()
+
+load(qt_build_paths)
+QMAKE_DOCS_BASE_OUTDIR = $$MODULE_BASE_OUTDIR/doc
+
+QMAKE_DOCS_TARGET = $$replace(QMAKE_DOCS, ^(.*/)?(.*)\\.qdocconf$, \\2)
+isEmpty(QMAKE_DOCS_TARGETDIR): QMAKE_DOCS_TARGETDIR = $$QMAKE_DOCS_TARGET
+QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
+
QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
!build_online_docs: \
QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
@@ -64,7 +72,6 @@ prepare_docs {
}
!build_online_docs {
- qtPrepareTool(QHELPGENERATOR, qhelpgenerator)
qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR