diff options
Diffstat (limited to 'mkspecs/features/qt_docs.prf')
-rw-r--r-- | mkspecs/features/qt_docs.prf | 48 |
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] |