summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure2
-rw-r--r--mkspecs/features/default_post.prf19
-rw-r--r--src/tools/tools.pro6
-rw-r--r--tools/configure/configureapp.cpp2
4 files changed, 22 insertions, 7 deletions
diff --git a/configure b/configure
index 78ae73c2d4..3b39b80d2e 100755
--- a/configure
+++ b/configure
@@ -6048,7 +6048,7 @@ fi
#-------------------------------------------------------------------------------
QTMODULE="$outpath/mkspecs/qmodule.pri"
-echo "CONFIG += $QMAKE_CONFIG create_prl link_prl" >> "$QTMODULE.tmp"
+echo "CONFIG += $QMAKE_CONFIG create_prl link_prl prepare_docs" >> "$QTMODULE.tmp"
echo "QT_BUILD_PARTS += $CFG_BUILD_PARTS" >> "$QTMODULE.tmp"
if [ -n "$QT_CFLAGS_PSQL" ]; then
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index a77738222f..86ce168a8e 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -59,7 +59,13 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
!contains(QMAKE_EXTRA_TARGETS, docs) {
contains(TEMPLATE, subdirs) {
- prepareRecursiveTarget(docs)
+ prepare_docs {
+ prepareRecursiveTarget(prepare_docs)
+ prepareRecursiveTarget(generate_docs)
+ docs.commands = $(MAKE) -f $(MAKEFILE) prepare_docs && $(MAKE) -f $(MAKEFILE) generate_docs
+ } else {
+ prepareRecursiveTarget(docs)
+ }
} else {
# apps and libs only generate docs if QMAKE_DOCS is set
!isEmpty(QMAKE_DOCS) {
@@ -68,10 +74,19 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
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
- docs.commands += $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS
+ 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
+ docs.depends += generate_docs
+ } else {
+ docs.commands += $$doc_command
+ }
}
}
QMAKE_EXTRA_TARGETS += docs
+ prepare_docs: QMAKE_EXTRA_TARGETS += prepare_docs generate_docs
}
!contains(QMAKE_EXTRA_TARGETS, install_docs) {
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index c67d6bfd76..f7d1e651ff 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -38,6 +38,6 @@ SUBDIRS = $$TOOLS_SUBDIRS
# Ensure qdoc is built before making any docs. We rely on the existing dependency
# on bootstrap for each of the other tools to ensure they also build qdoc first,
# and likewise, the dependency of the rest of the build on tools, src, etc.
-bootstrap_docs.depends += $${src_tools_qdoc.target}-make_first
-bootstrap_docs.target = $${src_tools_bootstrap.target}-docs
-QMAKE_EXTRA_TARGETS += bootstrap_docs
+bootstrap_prepare_docs.depends += $${src_tools_qdoc.target}-make_first
+bootstrap_prepare_docs.target = $${src_tools_bootstrap.target}-prepare_docs
+QMAKE_EXTRA_TARGETS += bootstrap_prepare_docs
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 0d4d6d4ec9..58f7a9b511 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -2724,7 +2724,7 @@ void Configure::generateCachefile()
if (!dictionary["DECORATIONS"].isEmpty())
moduleStream << "decorations += "<<dictionary["DECORATIONS"]<<endl;
- moduleStream << "CONFIG += create_prl link_prl";
+ moduleStream << "CONFIG += create_prl link_prl prepare_docs";
if (dictionary[ "SSE2" ] == "yes")
moduleStream << " sse2";
if (dictionary[ "SSE3" ] == "yes")