diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2016-08-25 17:19:08 +0200 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2016-09-15 06:52:35 +0000 |
commit | 64cc947ded9999527197168f5d16f25a15638e58 (patch) | |
tree | f43d62e4771d2cdeaf8a08bd3d61a18202fc89c8 /qt.pro | |
parent | 3e5229c689ca329db89b5af1afdc458688137db8 (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.pro | 31 |
1 files changed, 27 insertions, 4 deletions
@@ -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) |