summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_docs.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/qt_docs.prf')
-rw-r--r--mkspecs/features/qt_docs.prf48
1 files changed, 28 insertions, 20 deletions
diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
index bcc16ada78..183d0c9502 100644
--- a/mkspecs/features/qt_docs.prf
+++ b/mkspecs/features/qt_docs.prf
@@ -11,6 +11,27 @@
!exists($$QMAKE_DOCS): error("Cannot find documentation specification file $$QMAKE_DOCS")
+qtver.name = QT_VERSION
+qtver.value = $$VERSION
+isEmpty(qtver.value): qtver.value = $$MODULE_VERSION
+isEmpty(qtver.value): error("No version for documentation specified.")
+qtmver.name = QT_VER
+qtmver.value = $$replace(qtver.value, ^(\\d+\\.\\d+).*$, \\1)
+qtvertag.name = QT_VERSION_TAG
+qtvertag.value = $$replace(qtver.value, \.,)
+qtdocs.name = QT_INSTALL_DOCS
+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
@@ -18,10 +39,9 @@ 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
-qtPrepareTool(QDOC, qdoc)
-QDOC += -outputdir $$QMAKE_DOCS_OUTPUTDIR
+QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
!build_online_docs: \
- QDOC += -installdir $$[QT_INSTALL_DOCS]
+ QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
PREP_DOC_INDEXES =
DOC_INDEXES =
!isEmpty(QTREPOS) {
@@ -34,26 +54,15 @@ DOC_INDEXES =
mps += $$dirname(QT.$${d}.libs)
mps = $$unique(mps)
for (mp, mps): \
- PREP_DOC_INDEXES += -indexdir $$mp/doc
+ PREP_DOC_INDEXES += -indexdir $$shell_quote($$mp/doc)
}
for(qrep, QTREPOS): \
- DOC_INDEXES += -indexdir $$qrep/doc
+ DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
} else {
prepare_docs: \
- PREP_DOC_INDEXES += -indexdir $$[QT_INSTALL_DOCS/get]
- DOC_INDEXES += -indexdir $$[QT_INSTALL_DOCS/get]
+ PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
+ DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
}
-qtver.name = QT_VERSION
-qtver.value = $$VERSION
-isEmpty(qtver.value): qtver.value = $$MODULE_VERSION
-isEmpty(qtver.value): error("No version for documentation specified.")
-qtmver.name = QT_VER
-qtmver.value = $$replace(qtver.value, ^(\\d+\\.\\d+).*$, \\1)
-qtvertag.name = QT_VERSION_TAG
-qtvertag.value = $$replace(qtver.value, \.,)
-qtdocs.name = QT_INSTALL_DOCS
-qtdocs.value = $$[QT_INSTALL_DOCS/src]
-qtAddToolEnv(QDOC, qtver qtmver qtvertag qtdocs)
doc_command = $$QDOC $$QMAKE_DOCS
prepare_docs {
prepare_docs.commands += $$doc_command -prepare $$PREP_DOC_INDEXES -no-link-errors
@@ -63,8 +72,7 @@ prepare_docs {
}
!build_online_docs {
- qtPrepareTool(QHELPGENERATOR, qhelpgenerator)
- qch_docs.commands = $$QHELPGENERATOR $$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp -o $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
+ 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
inst_html_docs.path = $$[QT_INSTALL_DOCS]