summaryrefslogtreecommitdiffstats
path: root/qt.pro
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-08-25 17:19:08 +0200
committerJani Heikkinen <jani.heikkinen@qt.io>2016-09-15 06:52:35 +0000
commit64cc947ded9999527197168f5d16f25a15638e58 (patch)
treef43d62e4771d2cdeaf8a08bd3d61a18202fc89c8 /qt.pro
parent3e5229c689ca329db89b5af1afdc458688137db8 (diff)
automatically launch new configure system in top-level builds
this includes moving the -skip option here, where it belongs. the implementation is a bit hacky, but the proper one would be vastly more complex: we'd have to load all modules, then parse the command line properly (the -skip parsing would be a custom callback, to avoid needing to process features), then discard all now excluded modules again, then re-process the command line (so we can complain about options which are now invalid), and only now proceed with the actual feature processing. that seems a bit over the top, so we accept that -skip cannot be the argument of another option, which seems quite reasonable. Change-Id: I0053658e6d7e11b82cdfe55893cb553b664a9298 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'qt.pro')
-rw-r--r--qt.pro31
1 files changed, 27 insertions, 4 deletions
diff --git a/qt.pro b/qt.pro
index f8d3d4d3..1915fc2c 100644
--- a/qt.pro
+++ b/qt.pro
@@ -1,12 +1,10 @@
# Create the super cache so modules will add themselves to it.
cache(, super)
-CONFIG += build_pass # hack to disable the .qmake.super auto-add
-load(qt_build_config)
-CONFIG -= build_pass # unhack, as it confuses Qt Creator
-
TEMPLATE = subdirs
+CONFIG += prepare_docs qt_docs_targets
+
# Extract submodules from .gitmodules.
lines = $$cat(.gitmodules, lines)
for (line, lines) {
@@ -26,6 +24,29 @@ for (line, lines) {
}
QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules
+QT_SKIP_MODULES =
+uikit {
+ QT_SKIP_MODULES += qtdoc qtmacextras qtserialport qtwebkit qtwebkit-examples
+ !ios: QT_SKIP_MODULES += qtscript
+}
+
+# This is a bit hacky, but a proper implementation is not worth it.
+args = $$QMAKE_EXTRA_ARGS
+for (ever) {
+ isEmpty(args): break()
+ a = $$take_first(args)
+
+ equals(a, -skip) {
+ isEmpty(args): break()
+ m = $$take_first(args)
+ contains(m, -.*): next()
+ m ~= s/^(qt)?/qt/
+ !contains(modules, $$m): \
+ error("-skip command line argument used with non-existent module '$$m'.")
+ QT_SKIP_MODULES += $$m
+ }
+}
+
modules = $$sort_depends(modules, module., .depends .recommends)
modules = $$reverse(modules)
for (mod, modules) {
@@ -72,3 +93,5 @@ for (mod, modules) {
SUBDIRS += $$mod
}
+
+load(qt_configure)