diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2012-11-28 14:51:40 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-28 16:21:57 +0100 |
commit | bc6228c3f410a51db9aaa97b6ce3f5f7093ffc20 (patch) | |
tree | 496ee0322e6d02f38d4ecc332266c80d163961cf | |
parent | c0764ab9a1927008973da146c553982231055212 (diff) |
factor out qt_docs_targets.prf
instead of letting *every* qmake-based project have recursive docs targets,
let qt modules "subscribe" to it explicitly by having load(qt_build_config)
in their .qmake.conf (which they already do).
Change-Id: I97b74591fd0c4bd5f8b08c5f550df9c7eef2f556
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
-rw-r--r-- | mkspecs/features/default_post.prf | 53 | ||||
-rw-r--r-- | mkspecs/features/qt_build_config.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_docs_targets.prf | 52 |
3 files changed, 53 insertions, 54 deletions
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index bfabf25f21..6f3f318e0a 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -56,56 +56,3 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST check.depends = first # `make check' implies build QMAKE_EXTRA_TARGETS += check } - -!contains(QMAKE_EXTRA_TARGETS, docs) { - contains(TEMPLATE, subdirs) { - prepare_docs { - prepareRecursiveTarget(prepare_docs) - prepareRecursiveTarget(generate_docs) - html_docs.commands = $(MAKE) -f $(MAKEFILE) prepare_docs && $(MAKE) -f $(MAKEFILE) generate_docs - } else { - prepareRecursiveTarget(html_docs) - } - prepareRecursiveTarget(qch_docs) - prepareRecursiveTarget(docs) - } else { - # apps and libs only generate docs if QMAKE_DOCS is set - !isEmpty(QMAKE_DOCS) { - !exists($$QMAKE_DOCS):error("Cannot find documentation specification file $$QMAKE_DOCS") - qtPrepareTool(QDOC, qdoc) - for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index - !isEmpty(QMAKE_DOCS_OUTPUTDIR):QMAKE_DOCS_OPTIONS += -outputdir $$QMAKE_DOCS_OUTPUTDIR - !isEmpty(QMAKE_DOCS_INSTALLDIR):QMAKE_DOCS_OPTIONS += -installdir $$QMAKE_DOCS_INSTALLDIR - doc_command = $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS - prepare_docs { - prepare_docs.commands += $$doc_command -prepare -no-link-errors - generate_docs.commands += $$doc_command -generate - html_docs.depends += generate_docs - } else { - html_docs.commands += $$doc_command - } - - qtPrepareTool(QHELPGENERATOR, qhelpgenerator) - isEmpty(QMAKE_DOCS_TARGET): QMAKE_DOCS_TARGET = $$basename(QMAKE_DOCS_OUTPUTDIR) - qch_docs.commands = $$QHELPGENERATOR $$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp -o $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch - } - } - docs.commands = $(MAKE) -f $(MAKEFILE) html_docs && $(MAKE) -f $(MAKEFILE) qch_docs - QMAKE_EXTRA_TARGETS += html_docs qch_docs docs - prepare_docs: QMAKE_EXTRA_TARGETS += prepare_docs generate_docs -} - -!contains(QMAKE_EXTRA_TARGETS, install_docs) { - contains(TEMPLATE, subdirs) { - prepareRecursiveTarget(install_html_docs) - prepareRecursiveTarget(uninstall_html_docs) - prepareRecursiveTarget(install_qch_docs) - prepareRecursiveTarget(uninstall_qch_docs) - prepareRecursiveTarget(install_docs) - prepareRecursiveTarget(uninstall_docs) - } - QMAKE_EXTRA_TARGETS += \ - install_html_docs uninstall_html_docs \ - install_qch_docs uninstall_qch_docs \ - install_docs uninstall_docs -} diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 9d960e54c3..df07630ffa 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -27,7 +27,7 @@ mac { CONFIG += \ create_prl link_prl \ - prepare_docs \ + prepare_docs qt_docs_targets \ no_private_qt_headers_warning QTDIR_build \ # Qt modules get compiled without exceptions enabled by default. # However, testcases should be still built with exceptions. diff --git a/mkspecs/features/qt_docs_targets.prf b/mkspecs/features/qt_docs_targets.prf new file mode 100644 index 0000000000..69eefe9285 --- /dev/null +++ b/mkspecs/features/qt_docs_targets.prf @@ -0,0 +1,52 @@ +!contains(QMAKE_EXTRA_TARGETS, docs) { + contains(TEMPLATE, subdirs) { + prepare_docs { + prepareRecursiveTarget(prepare_docs) + prepareRecursiveTarget(generate_docs) + html_docs.commands = $(MAKE) -f $(MAKEFILE) prepare_docs && $(MAKE) -f $(MAKEFILE) generate_docs + } else { + prepareRecursiveTarget(html_docs) + } + prepareRecursiveTarget(qch_docs) + prepareRecursiveTarget(docs) + } else { + # apps and libs only generate docs if QMAKE_DOCS is set + !isEmpty(QMAKE_DOCS) { + !exists($$QMAKE_DOCS):error("Cannot find documentation specification file $$QMAKE_DOCS") + qtPrepareTool(QDOC, qdoc) + for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index + !isEmpty(QMAKE_DOCS_OUTPUTDIR):QMAKE_DOCS_OPTIONS += -outputdir $$QMAKE_DOCS_OUTPUTDIR + !isEmpty(QMAKE_DOCS_INSTALLDIR):QMAKE_DOCS_OPTIONS += -installdir $$QMAKE_DOCS_INSTALLDIR + doc_command = $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS + prepare_docs { + prepare_docs.commands += $$doc_command -prepare -no-link-errors + generate_docs.commands += $$doc_command -generate + html_docs.depends += generate_docs + } else { + html_docs.commands += $$doc_command + } + + qtPrepareTool(QHELPGENERATOR, qhelpgenerator) + isEmpty(QMAKE_DOCS_TARGET): QMAKE_DOCS_TARGET = $$basename(QMAKE_DOCS_OUTPUTDIR) + qch_docs.commands = $$QHELPGENERATOR $$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp -o $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch + } + } + docs.commands = $(MAKE) -f $(MAKEFILE) html_docs && $(MAKE) -f $(MAKEFILE) qch_docs + QMAKE_EXTRA_TARGETS += html_docs qch_docs docs + prepare_docs: QMAKE_EXTRA_TARGETS += prepare_docs generate_docs +} + +!contains(QMAKE_EXTRA_TARGETS, install_docs) { + contains(TEMPLATE, subdirs) { + prepareRecursiveTarget(install_html_docs) + prepareRecursiveTarget(uninstall_html_docs) + prepareRecursiveTarget(install_qch_docs) + prepareRecursiveTarget(uninstall_qch_docs) + prepareRecursiveTarget(install_docs) + prepareRecursiveTarget(uninstall_docs) + } + QMAKE_EXTRA_TARGETS += \ + install_html_docs uninstall_html_docs \ + install_qch_docs uninstall_qch_docs \ + install_docs uninstall_docs +} |