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>
This commit is contained in:
Oswald Buddenhagen 2016-08-30 18:25:37 +02:00
parent 0872b62b2e
commit 546191b03f

View File

@ -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()