summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-12-11 14:14:13 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2016-01-08 09:36:20 +0000
commitc0efee2f265279a4ced90279ad2e7536c596f08c (patch)
treee1e88387a7c6ff06b0cfd73cc0f2e3adb64262a1
parent282f15feaae4c525602d537ab65cb61987eb5f7f (diff)
add always_prepend mode to qtAddToolEnv()
this is just an optimization/clarification: variables which are known to be never empty (like PATH) can be extended with less convoluted code. Change-Id: Ib365bbec8301673ed1c874979b4de19bc983dab1 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
-rw-r--r--mkspecs/features/qt_functions.prf11
-rw-r--r--src/angle/src/config.pri2
2 files changed, 9 insertions, 4 deletions
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index abb7439f18..6b72db6101 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -96,8 +96,10 @@ defineTest(qtAddToolEnv) {
value = $$eval($${env}.value)
!isEmpty(value) {
name = $$eval($${env}.name)
+ config = $$eval($${env}.CONFIG)
equals(ds, /) {
- contains($${env}.CONFIG, prepend): infix = \${$$name:+:\$$$name}
+ contains(config, prepend): infix = \${$$name:+:\$$$name}
+ else: contains(config, always_prepend): infix = :\$$$name
else: infix =
# Under msys, this path is taken only in the non-system()
# case, so using shell_quote() always works.
@@ -108,13 +110,15 @@ defineTest(qtAddToolEnv) {
value ~= s,\\^,^^^^,g
value ~= s,!,^^!,g
value ~= s,\\),^),g
- contains($${env}.CONFIG, prepend) {
+ contains(config, prepend) {
batch_sets += \
"if defined $$name (" \
" set $$name=$$join(value, ;);!$$name!" \
") else (" \
" set $$name=$$join(value, ;)" \
")"
+ } else: contains(config, always_prepend) {
+ batch_sets += "(set $$name=$$join(value, ;);!$$name!)"
} else {
batch_sets += "(set $$name=$$join(value, ;))"
}
@@ -162,8 +166,10 @@ defineTest(qtAddTargetEnv) {
deps = $$resolve_depends(deps, "QT.", ".depends" ".run_depends")
!isEmpty(deps) {
libs = libs
+ deppath.CONFIG = prepend
equals(QMAKE_HOST.os, Windows) {
libs = bins
+ deppath.CONFIG = always_prepend
deppath.name = PATH
} else:contains(QMAKE_HOST.os, Linux|FreeBSD|OpenBSD|NetBSD|DragonFly|SunOS|HP-UX|QNX|GNU) {
deppath.name = LD_LIBRARY_PATH
@@ -188,7 +194,6 @@ defineTest(qtAddTargetEnv) {
ptypes += $$eval(QT.$${dep}.plugin_types)
}
deppath.value = $$unique(deppath)
- deppath.CONFIG = prepend
pluginpath.value =
ppaths = $$[QT_INSTALL_PLUGINS/get]
diff --git a/src/angle/src/config.pri b/src/angle/src/config.pri
index 085913ac83..be61282069 100644
--- a/src/angle/src/config.pri
+++ b/src/angle/src/config.pri
@@ -16,7 +16,7 @@ equals(QMAKE_HOST.os, Windows) {
gnutools.value = $$absolute_path(../../../../gnuwin32/bin)
exists($$gnutools.value/gperf.exe) {
gnutools.name = PATH
- gnutools.CONFIG = prepend
+ gnutools.CONFIG = always_prepend
}
}