summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_functions.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/qt_functions.prf')
-rw-r--r--mkspecs/features/qt_functions.prf44
1 files changed, 26 insertions, 18 deletions
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 64b9fee361..9a4d80e80f 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -191,26 +191,30 @@ defineTest(qtAddRpathLink) {
# variable, default, [suffix for variable for system() use]
defineTest(qtPrepareTool) {
- $$1 = $$eval(QT_TOOL.$${2}.binary)
- isEmpty($$1) {
- $$1 = $$[QT_HOST_BINS]/$$2
- exists($$eval($$1).pl) {
- $$1 = perl -w $$eval($$1).pl
+ cmd = $$eval(QT_TOOL.$${2}.binary)
+ isEmpty(cmd) {
+ cmd = $$[QT_HOST_BINS]/$$2
+ exists($${cmd}.pl) {
+ cmd = perl -w $$system_path($${cmd}.pl)
} else: contains(QMAKE_HOST.os, Windows) {
- $$1 = $$eval($$1).exe
+ cmd = $$system_path($${cmd}.exe)
} else:contains(QMAKE_HOST.os, Darwin) {
- BUNDLENAME = $$eval($$1).app/Contents/MacOS/$$2
+ BUNDLENAME = $${cmd}.app/Contents/MacOS/$$2
exists($$BUNDLENAME) {
- $$1 = $$BUNDLENAME
+ cmd = $$BUNDLENAME
}
}
}
QT_TOOL_ENV += $$eval(QT_TOOL.$${2}.envvars)
!isEmpty(3) {
- $$1$$3 = $$system_path($$eval($$1))
+ $$1$$3 =
+ for (arg, cmd): \
+ $$1$$3 += $$system_quote($$arg)
qtAddTargetEnv($$1$$3, QT_TOOL.$${2}.depends, system)
}
- $$1 = $$system_path($$eval($$1))
+ $$1 =
+ for (arg, cmd): \
+ $$1 += $$shell_quote($$arg)
qtAddTargetEnv($$1, QT_TOOL.$${2}.depends, )
}
@@ -249,11 +253,13 @@ defineTest(qtAddTargetEnv) {
deps = $$replace($$2, -private$, _private)
deps = $$resolve_depends(deps, "QT.", ".depends" ".private_depends" ".run_depends")
!isEmpty(deps) {
+ ptypes =
for(dep, deps) {
isEmpty(3): \
deppath += $$shell_path($$eval(QT.$${dep}.libs))
else: \
deppath += $$system_path($$eval(QT.$${dep}.libs))
+ ptypes += $$eval(QT.$${dep}.plugin_types)
}
equals(QMAKE_HOST.os, Windows) {
deppath.name = PATH
@@ -273,14 +279,16 @@ defineTest(qtAddTargetEnv) {
deppath.CONFIG = prepend
pluginpath.value =
- for(qmod, QMAKEMODULES) {
- qmod = $$section(qmod, /, 0, -3)/plugins
- exists($$qmod) {
- isEmpty(3): \
- pluginpath.value += $$shell_path($$qmod)
- else: \
- pluginpath.value += $$system_path($$qmod)
- }
+ ppaths = $$[QT_INSTALL_PLUGINS/get]
+ for(qplug, QT_PLUGINS): \
+ contains(ptypes, QT_PLUGIN.$${qplug}.TYPE): \
+ ppaths += $$eval(QT_PLUGIN.$${qplug}.PATH)
+ ppaths = $$unique(ppaths)
+ for(qplug, ppaths) {
+ isEmpty(3): \
+ pluginpath.value += $$shell_path($$qplug)
+ else: \
+ pluginpath.value += $$system_path($$qplug)
}
pluginpath.name = QT_PLUGIN_PATH