diff options
-rw-r--r-- | examples/examples.pro | 2 | ||||
-rw-r--r-- | mkspecs/features/default_post.prf | 27 | ||||
-rw-r--r-- | src/corelib/corelib.pro | 4 | ||||
-rw-r--r-- | src/corelib/doc/doc.pri | 3 | ||||
-rw-r--r-- | src/network/doc/doc.pri | 3 | ||||
-rw-r--r-- | src/network/network.pro | 4 | ||||
-rw-r--r-- | src/sql/doc/doc.pri | 3 | ||||
-rw-r--r-- | src/sql/sql.pro | 4 | ||||
-rw-r--r-- | src/tools/bootstrap/bootstrap.pro | 3 | ||||
-rw-r--r-- | src/tools/qdoc/qdoc.pro | 6 | ||||
-rw-r--r-- | src/xml/doc/doc.pri | 3 | ||||
-rw-r--r-- | src/xml/xml.pro | 4 | ||||
-rw-r--r-- | tests/tests.pro | 1 |
13 files changed, 51 insertions, 16 deletions
diff --git a/examples/examples.pro b/examples/examples.pro index 2180d18587..7ce42d7fe7 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -1,4 +1,6 @@ TEMPLATE = subdirs +CONFIG += no_docs_target + SUBDIRS = \ network \ statemachine \ diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 874b4bf424..0a0fd8dfa8 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -64,3 +64,30 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST QMAKE_EXTRA_TARGETS += check } +# Let every project have a 'docs' target +!contains(QMAKE_EXTRA_TARGETS, docs) { + contains(TEMPLATE, subdirs) { + # `make docs' should iterate through all subdirs + # (except those with no_default_target or no_docs_target) + !contains(CONFIG, no_docs_target):for(subdir, SUBDIRS) { + subdir_config = $$eval($${subdir}.CONFIG) + !contains(subdir_config, no_docs_target):!contains(subdir_config, no_default_target):docs.recurse += $$subdir + unset(subdir_config) + } + !isEmpty(docs.recurse) { + # setup the recurse target only when there is something to recurse into + docs.CONFIG = recursive + docs.recurse_target = 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") + exists($$[QT_INSTALL_DOCS]):QMAKE_DOCS_INDEX *= $$[QT_INSTALL_DOCS] + qtPrepareTool(QDOC, qdoc) + for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index + docs.commands += $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS + } + } + QMAKE_EXTRA_TARGETS += docs +} diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index d98cebb672..4856c1b5fb 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -16,6 +16,9 @@ load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/corelib/qtcoreversion.h +QMAKE_DOCS = $$PWD/doc/qtcore.qdocconf +QMAKE_DOCS_INDEX = ../../doc + include(animation/animation.pri) include(arch/arch.pri) include(global/global.pri) @@ -30,7 +33,6 @@ include(codecs/codecs.pri) include(statemachine/statemachine.pri) include(mimetypes/mimetypes.pri) include(xml/xml.pri) -include(doc/doc.pri) mac|darwin { !ios { diff --git a/src/corelib/doc/doc.pri b/src/corelib/doc/doc.pri deleted file mode 100644 index ed970d7592..0000000000 --- a/src/corelib/doc/doc.pri +++ /dev/null @@ -1,3 +0,0 @@ -qtPrepareTool(QDOC, qdoc) -docs.commands += $$QDOC $$QT.core.sources/doc/qtcore.qdocconf -QMAKE_EXTRA_TARGETS += docs diff --git a/src/network/doc/doc.pri b/src/network/doc/doc.pri deleted file mode 100644 index 7ca0ad07d4..0000000000 --- a/src/network/doc/doc.pri +++ /dev/null @@ -1,3 +0,0 @@ -qtPrepareTool(QDOC, qdoc) -docs.commands += $$QDOC $$QT.network.sources/doc/qtnetwork.qdocconf -QMAKE_EXTRA_TARGETS += docs diff --git a/src/network/network.pro b/src/network/network.pro index a6597338f5..3e1bc6d4e5 100644 --- a/src/network/network.pro +++ b/src/network/network.pro @@ -24,9 +24,11 @@ load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/network/qtnetworkversion.h +QMAKE_DOCS = $$PWD/doc/qtnetwork.qdocconf +QMAKE_DOCS_INDEX = ../../doc + include(access/access.pri) include(bearer/bearer.pri) -include(doc/doc.pri) include(kernel/kernel.pri) include(socket/socket.pri) include(ssl/ssl.pri) diff --git a/src/sql/doc/doc.pri b/src/sql/doc/doc.pri deleted file mode 100644 index 2bc2e005d4..0000000000 --- a/src/sql/doc/doc.pri +++ /dev/null @@ -1,3 +0,0 @@ -qtPrepareTool(QDOC, qdoc) -docs.commands += $$QDOC $$QT.sql.sources/doc/qtsql.qdocconf -QMAKE_EXTRA_TARGETS += docs diff --git a/src/sql/sql.pro b/src/sql/sql.pro index e3f81f3498..c2345d92ef 100644 --- a/src/sql/sql.pro +++ b/src/sql/sql.pro @@ -21,7 +21,9 @@ DEFINES += QT_NO_CAST_FROM_ASCII PRECOMPILED_HEADER = ../corelib/global/qt_pch.h SQL_P = sql -include(doc/doc.pri) +QMAKE_DOCS = $$PWD/doc/qtsql.qdocconf +QMAKE_DOCS_INDEX = ../../doc + include(kernel/kernel.pri) include(drivers/drivers.pri) include(models/models.pri) diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index 21fc2f9ca5..37b4c3dd1d 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -127,3 +127,6 @@ freeze_target.target = freeze freeze_target.commands = freeze_target.depends = first QMAKE_EXTRA_TARGETS += freeze_target +docs.commands = +docs.depends = first +QMAKE_EXTRA_TARGETS += docs diff --git a/src/tools/qdoc/qdoc.pro b/src/tools/qdoc/qdoc.pro index 484b0c6ba1..1e570583f5 100644 --- a/src/tools/qdoc/qdoc.pro +++ b/src/tools/qdoc/qdoc.pro @@ -116,4 +116,10 @@ QMAKE_EXTRA_TARGETS += html-docs qch-docs target.path = $$[QT_HOST_BINS] INSTALLS += target + +# Ensure that qdoc is built before we generate the docs +docs.commands = +docs.depends = first +QMAKE_EXTRA_TARGET += docs + load(qt_targets) diff --git a/src/xml/doc/doc.pri b/src/xml/doc/doc.pri deleted file mode 100644 index d02e45e64e..0000000000 --- a/src/xml/doc/doc.pri +++ /dev/null @@ -1,3 +0,0 @@ -qtPrepareTool(QDOC, qdoc) -docs.commands += $$QDOC $$QT.xml.sources/doc/qtxml.qdocconf -QMAKE_EXTRA_TARGETS += docs diff --git a/src/xml/xml.pro b/src/xml/xml.pro index b8c24496ae..2fff0218e4 100644 --- a/src/xml/xml.pro +++ b/src/xml/xml.pro @@ -16,6 +16,9 @@ load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/xml/qtxmlversion.h +QMAKE_DOCS = $$PWD/doc/qtxml.qdocconf +QMAKE_DOCS_INDEX = ../../doc + PRECOMPILED_HEADER = ../corelib/global/qt_pch.h win32-borland { @@ -23,6 +26,5 @@ win32-borland { QMAKE_CXXFLAGS_WARN_ON += -w-use } -include(doc/doc.pri) include(dom/dom.pri) include(sax/sax.pri) diff --git a/tests/tests.pro b/tests/tests.pro index 0c933681ee..0f50930774 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +CONFIG += no_docs_target SUBDIRS = auto # benchmarks in debug mode is rarely sensible |