c8afc67875
Let the qtattributionsscanner tool generate a .qdoc file in the build directory that contains code attributions for this qdoc module. Task-number: QTBUG-55139 Change-Id: Ic7532c9a7c092f552c36e21ee6cbebdd0107689b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
107 lines
4.0 KiB
Plaintext
107 lines
4.0 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
|
|
generate_docs.commands += $$doc_command -generate $$DOC_INDEXES
|
|
prepare_docs.depends += qtattributionsscanner
|
|
} else {
|
|
html_docs.commands += $$doc_command $$DOC_INDEXES
|
|
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
|
|
}
|