summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/qt_functions.prf26
-rw-r--r--mkspecs/features/qt_tool.prf26
2 files changed, 25 insertions, 27 deletions
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 2246551573..82916ffd67 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -155,7 +155,7 @@ defineTest(qtAddModules) {
# variable, default
defineTest(qtPrepareTool) {
- $$1 = $$eval(QT_TOOL.$${2}.binary)
+ $$1 = $$eval(QT_TOOL.$${2}.command)
isEmpty($$1) {
MODBASE = $$[QT_HOST_BINS/get]
count(ARGS, 2, greaterThan) {
@@ -175,30 +175,8 @@ defineTest(qtPrepareTool) {
$$1 = $$BUNDLENAME
}
}
+ $$1 = $$shell_path($$eval($$1))
}
- $$1 = $$shell_path($$eval($$1))
-
- deps = $$resolve_depends(QT_TOOL.$${2}.depends, "QT.")
- !isEmpty(deps) {
- for(dep, deps): \
- deppath += $$shell_path($$eval(QT.$${dep}.libs))
- deppath = $$unique(deppath)
- equals(QMAKE_DIR_SEP, /) {
- equals(QMAKE_HOST.os, Windows): \
- var = PATH
- else:contains(QMAKE_HOST.os, Linux): \
- var = LD_LIBRARY_PATH
- else:equals(QMAKE_HOST.os, Darwin): \
- var = DYLD_LIBRARY_PATH
- else: \
- error("Operating system not supported.")
- $$1 = "$$var=$$join(deppath, :)${$$var:+:\$$$var} $$eval($$1)"
- } else {
- # Escape closing parens when expanding %PATH%, otherwise cmd confuses itself.
- $$1 = "(set PATH=$$join(deppath, ;);%PATH:)=^)%) & $$eval($$1)"
- }
- }
-
export($$1)
}
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 69a303fcac..f1555de1d0 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -35,12 +35,32 @@ INSTALLS += target
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
load(resolve_target)
+ cmd = $$shell_path($$QMAKE_RESOLVED_TARGET)
+ deps = $$resolve_depends(QT, "QT.")
+ !isEmpty(deps) {
+ for(dep, deps) {
+ deppath += $$shell_path($$eval(QT.$${dep}.libs))
+ }
+ deppath = $$unique(deppath)
+ equals(QMAKE_DIR_SEP, /) {
+ equals(QMAKE_HOST.os, Windows): \
+ var = PATH
+ else:contains(QMAKE_HOST.os, Linux): \
+ var = LD_LIBRARY_PATH
+ else:equals(QMAKE_HOST.os, Darwin): \
+ var = DYLD_LIBRARY_PATH
+ else: \
+ error("Operating system not supported.")
+ cmd = "$$var=$$join(deppath, :)${$$var:+:\$$$var} $$cmd"
+ } else {
+ # Escape closing parens when expanding %PATH%, otherwise cmd confuses itself.
+ cmd = "(set PATH=$$join(deppath, ;);%PATH:)=^)%) & $$cmd"
+ }
+ }
TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_$${MODULE}.pri
- TOOL_PRI_CONT = \
- "QT_TOOL.$${MODULE}.binary = $$QMAKE_RESOLVED_TARGET" \
- "QT_TOOL.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")"
+ TOOL_PRI_CONT = "QT_TOOL.$${MODULE}.command = $$val_escape(cmd)"
write_file($$TOOL_PRI, TOOL_PRI_CONT)|error("Aborting.")
# Then, inject the new tool into the current cache state