add value quoting to qtAddToolEnv()

for sh, this is usual quoting.
for cmd, this means escaping closing parens - everything else is permitted
anyway.

Change-Id: I1179849d95f1f1f9e4b0d62ecd88917a1327f60f
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
Oswald Buddenhagen 2014-11-19 14:55:13 +01:00
parent 2a3cac756d
commit e351ccfc12

View File

@ -232,11 +232,12 @@ defineTest(qtAddToolEnv) {
equals(ds, /) { equals(ds, /) {
contains($${env}.CONFIG, prepend): infix = \${$$name:+:\$$$name} contains($${env}.CONFIG, prepend): infix = \${$$name:+:\$$$name}
else: infix = else: infix =
val = "$$name=$$join(value, :)$$infix" val = "$$name=$$shell_quote($$join(value, :))$$infix"
} else { } else {
# Escape closing parens when expanding the variable, otherwise cmd confuses itself. # Escape closing parens when expanding the variable, otherwise cmd confuses itself.
contains($${env}.CONFIG, prepend): infix = ;%$$name:)=^)% contains($${env}.CONFIG, prepend): infix = ;%$$name:)=^)%
else: infix = else: infix =
value ~= s,\\),^),g
val = "(set $$name=$$join(value, ;)$$infix) &" val = "(set $$name=$$join(value, ;)$$infix) &"
} }
isEmpty(3): !contains(TEMPLATE, vc.*) { isEmpty(3): !contains(TEMPLATE, vc.*) {