summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2016-11-15 20:49:43 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2016-12-13 18:55:32 +0000
commit8ebc7e967c5d245ffab5dcbf666fc01a4df4fe6a (patch)
tree46fab2186cc4c6946fe3d9da8356a4f5b25a552d /mkspecs/features
parent24cb1580e2bdb9eace8a419dcc44bffe13ed1550 (diff)
move configure -redo handling (mostly) to qmake-based system
the qmake bootstrap uses some of the options, so the configures still read config.opt for their own purposes, but the general handling is entirely in the new system now. Change-Id: I2c6c657d4da01c8d520ac74795454747bb224bdd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/data/configure.json2
-rw-r--r--mkspecs/features/qt_configure.prf23
2 files changed, 22 insertions, 3 deletions
diff --git a/mkspecs/features/data/configure.json b/mkspecs/features/data/configure.json
index a937f79b99..20a83025e6 100644
--- a/mkspecs/features/data/configure.json
+++ b/mkspecs/features/data/configure.json
@@ -9,6 +9,8 @@
"recheck": { "type": "void", "name": "cache_use", "value": "positive" },
"recheck-all": { "type": "void", "name": "cache_use", "value": "none" },
+
+ "redo": { "type": "redo" }
}
},
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 1be92a8b43..936a563b9e 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -177,6 +177,17 @@ defineTest(qtConfCommandline_addString) {
export(config.input.$$opt)
}
+defineTest(qtConfCommandline_redo) {
+ !exists($$OUT_PWD/config.opt) {
+ qtConfAddError("No config.opt present - cannot redo configuration.")
+ return()
+ }
+ QMAKE_EXTRA_ARGS = $$cat($$OUT_PWD/config.opt, lines) $$QMAKE_EXTRA_ARGS
+ export(QMAKE_EXTRA_ARGS)
+ QMAKE_REDO_CONFIG = true
+ export(QMAKE_REDO_CONFIG)
+}
+
defineTest(qtConfParseCommandLine) {
customCalls =
for (cc, allConfigs) {
@@ -1752,6 +1763,8 @@ for(ever) {
for (currentConfig, allConfigs): \
qtConfSetupLibraries()
+QMAKE_SAVED_ARGS = $$QMAKE_EXTRA_ARGS
+QMAKE_REDO_CONFIG = false
qtConfParseCommandLine()
!isEmpty(_QMAKE_SUPER_CACHE_): \
@@ -1829,13 +1842,17 @@ for (currentConfig, allConfigs) {
!isEmpty(QT_CONFIGURE_SKIPPED_MODULES): \
qtConfAddNote("The following modules are not being compiled in this configuration:" $$QT_CONFIGURE_SKIPPED_MODULES)
+logn("Done running configuration tests.")
+logn()
+
+!$$QMAKE_REDO_CONFIG {
+ write_file($$OUT_PWD/config.opt, QMAKE_SAVED_ARGS)|error()
+}
+
# these come from the pri files loaded above.
for (p, QMAKE_POST_CONFIGURE): \
eval($$p)
-logn("Done running configuration tests.")
-logn()
-
logn("Configure summary:")
logn()
qtConfPrintReport()