4bdd8d4eca
This change applies to darwin. It adds each include path in the QMAKE_DEFAULT_INCDIRS variable to the qdoc command line with the -I flag for both the prepare and the generate phase. These include paths provide access to the standard c++ and c headers, which clang needs to see. This change should work on all platforms, but it increased the qdoc warning count on the linuxsystem where it was tested, so now it only applies to darwin. Change-Id: I16e2e0d744e2cf68743dc12d39155dda2ece1536 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
113 lines
4.2 KiB
Plaintext
113 lines
4.2 KiB
Plaintext
#
|
|
# W A R N I N G
|
|
# -------------
|
|
#
|
|
# This file is not part of the Qt API. It exists purely as an
|
|
# implementation detail. It may change from version to version
|
|
# without notice, or even be removed.
|
|
#
|
|
# We mean it.
|
|
#
|
|
|
|
!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]
|
|
builddir.name = BUILDDIR
|
|
builddir.value = $$OUT_PWD
|
|
QT_TOOL_ENV = qtver qtmver qtvertag qtdocs builddir
|
|
qtPrepareTool(QDOC, qdoc)
|
|
QT_TOOL_ENV =
|
|
|
|
!build_online_docs: qtPrepareTool(QHELPGENERATOR, qhelpgenerator)
|
|
|
|
qtPrepareTool(QTATTRIBUTIONSSCANNER, qtattributionsscanner)
|
|
|
|
# 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])
|
|
PREP_DOC_INDEXES =
|
|
DOC_INDEXES =
|
|
!isEmpty(QTREPOS) {
|
|
prepare_docs {
|
|
# This is not for linking, but for providing type information.
|
|
mps =
|
|
deps = $$replace(QT, -private$, )
|
|
deps = $$resolve_depends(deps, "QT.")
|
|
for (d, deps): \
|
|
mps += $$dirname(QT.$${d}.libs)
|
|
mps = $$unique(mps)
|
|
for (mp, mps): \
|
|
PREP_DOC_INDEXES += -indexdir $$shell_quote($$mp/doc)
|
|
}
|
|
for(qrep, QTREPOS): \
|
|
DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
|
|
} else {
|
|
prepare_docs: \
|
|
PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
|
|
DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
|
|
}
|
|
|
|
qtattributionsscanner.target = qtattributionsscanner
|
|
qtattributionsscanner.commands = $$QTATTRIBUTIONSSCANNER $$shell_quote($$MODULE_BASE_INDIR) \
|
|
--filter "QDocModule=$$QMAKE_DOCS_TARGET" -o $$shell_quote($$OUT_PWD/codeattributions.qdoc)
|
|
qtattributionsscanner.CONFIG += phony
|
|
QMAKE_EXTRA_TARGETS += qtattributionsscanner
|
|
|
|
doc_command = $$QDOC $$QMAKE_DOCS
|
|
prepare_docs {
|
|
prepare_docs.commands += $$doc_command -prepare $$PREP_DOC_INDEXES -no-link-errors $(INCPATH)
|
|
generate_docs.commands += $$doc_command -generate $$DOC_INDEXES $(INCPATH)
|
|
darwin {
|
|
for (incdir, $$QMAKE_DEFAULT_INCDIRS) {
|
|
prepare_docs.commands += -I$$shell_quote($$incdir)
|
|
generate_docs.commands += -I$$shell_quote($$incdir)
|
|
}
|
|
}
|
|
prepare_docs.depends += qtattributionsscanner
|
|
} else {
|
|
html_docs.commands += $$doc_command $$DOC_INDEXES $(INCPATH)
|
|
html_docs.depends += qtattributionsscanner
|
|
}
|
|
|
|
!build_online_docs {
|
|
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]
|
|
inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
|
|
INSTALLS += inst_html_docs
|
|
|
|
inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
|
|
inst_qch_docs.path = $$[QT_INSTALL_DOCS]
|
|
inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
|
|
INSTALLS += inst_qch_docs
|
|
|
|
install_html_docs.depends = install_inst_html_docs
|
|
uninstall_html_docs.depends = uninstall_inst_html_docs
|
|
install_qch_docs.depends = install_inst_qch_docs
|
|
uninstall_qch_docs.depends = uninstall_inst_qch_docs
|
|
install_docs.depends = install_html_docs install_qch_docs
|
|
uninstall_docs.depends = uninstall_html_docs uninstall_qch_docs
|
|
}
|