diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2016-08-30 18:25:37 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2016-10-04 08:26:49 +0000 |
commit | 546191b03f5dfdc525ee37220aa394d2dd72bdac (patch) | |
tree | 177dd57bfc82e5d5d66f2b086e151ee763aaf448 /mkspecs/features | |
parent | 0872b62b2e3429743db89ac84827943f5b630357 (diff) |
fix parsing of -system-proxies
this is, in fact, not the same as --proxies=system, and the old
configure handles this by putting special cases before the catch-all
patterns. we achieve this by trying the verbatim names (of all options,
which is admittedly a tad inefficient) before applying the -qt/-system
transformation.
Change-Id: Ic85a9d76d6e8ca95b2e1b5566f047f4b7ac38b98
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/qt_configure.prf | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 8119a130b8..58e0b1c88e 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -251,15 +251,19 @@ defineTest(qtConfParseCommandLine) { } else: contains(c, "^--(.*)") { opt = $$replace(c, "^--(.*)", "\\1") val = yes - } else: contains(c, "^-qt-(.*)") { - opt = $$replace(c, "^-qt-(.*)", "\\1") - val = qt - } else: contains(c, "^-system-(.*)") { - opt = $$replace(c, "^-system-(.*)", "\\1") - val = system } else: contains(c, "^-(.*)") { opt = $$replace(c, "^-(.*)", "\\1") val = + for (cc, allConfigs) { + type = $$eval($${cc}.commandline.options.$${opt}) + !isEmpty(type): break() + type = $$eval($${cc}.commandline.options.$${opt}.type) + !isEmpty(type): break() + } + isEmpty(type):contains(opt, "(qt|system)-.*") { + val = $$replace(opt, "(qt|system)-(.*)", "\\1") + opt = $$replace(opt, "(qt|system)-(.*)", "\\2") + } } else { qtConfAddError("Invalid command line parameter '$$c'.") return() |