summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorMarius Storm-Olsen <marius.storm-olsen@nokia.com>2012-05-10 09:11:17 +0200
committerMarius Storm-Olsen <marius.storm-olsen@nokia.com>2012-05-10 09:11:23 +0200
commit9456528aac80c6d4c41fa96d88696dc55414b710 (patch)
treef9fdcc9cd3c7468503590bec7ed082294a0cffde /mkspecs
parent75552c8f62dcfb8012c306b37c79ec629448d780 (diff)
parentee38dec6f3aff6f7f277323c5c8488d4cd385693 (diff)
Merge branch 'docs-refactoring' into master
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/default_post.prf27
1 files changed, 27 insertions, 0 deletions
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
+}