privqt = $$replace(QT_PRIVATE, -private$, )
privdep = $$resolve_depends(privqt, "QT.")
rpaths =
+ pluginpath =
alldep = $$pubdep $$privdep
- for(dep, alldep): \ # Inherit link-rpaths from all our dependencies
+ for(dep, alldep) { # Inherit link-rpaths from all our dependencies
rpaths += $$eval(QT.$${dep}.rpath_link) $$eval(QT.$${dep}.rpath_link_private)
+ pluginpath += $$eval(QT.$${dep}.plugin_path) $$eval(QT.$${dep}.plugins)
+ }
privdep -= $$pubdep
for(dep, privdep): \ # Add our private dependencies' lib paths as new link-rpaths
rpaths += $$eval(QT.$${dep}.libs)
} else {
module_rpathlink_priv =
}
+ pluginpath = $$unique(pluginpath)
# Create a forwarding module .pri file
MODULE_FWD_PRI_CONT = \
$$module_rpathlink \
$$module_rpathlink_priv \
"QT.$${MODULE}.rpath = $$MODULE_INSTALL_LIBS" \
+ "QT.$${MODULE}.plugin_path = $$val_escape(pluginpath)" \
"include($$MODULE_PRI)"
write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.")
touch($$MODULE_FWD_PRI, $$MODULE_PRI)
cmd = $$shell_path($$QMAKE_RESOLVED_TARGET)
deps = $$resolve_depends(QT, "QT.")
!isEmpty(deps) {
+ plugin_paths =
for(dep, deps) {
deppath += $$shell_path($$eval(QT.$${dep}.libs))
for(rpath, QT.$${dep}.rpath_link): \
deppath += $$shell_path($$rpath)
+ plugin_paths += $$eval(QT.$${dep}.plugin_path) $$eval(QT.$${dep}.plugins)
}
deppath = $$unique(deppath)
+ plugin_paths = $$unique(plugin_paths)
+ pluginpath =
+ for(ppath, plugin_paths): \
+ exists($$ppath): \
+ pluginpath += $$shell_path($$ppath)
equals(QMAKE_DIR_SEP, /) {
equals(QMAKE_HOST.os, Windows): \
var = PATH
var = DYLD_LIBRARY_PATH
else: \
error("Operating system not supported.")
- cmd = "$$var=$$join(deppath, :)${$$var:+:\$$$var} $$cmd"
+ !isEmpty(pluginpath): pluginpath = "QT_PLUGIN_PATH=$$join(pluginpath, :) "
+ cmd = "$$var=$$join(deppath, :)${$$var:+:\$$$var} $$pluginpath$$cmd"
} else {
+ !isEmpty(pluginpath): pluginpath = "(set QT_PLUGIN_PATH=$$join(pluginpath, ;)) & "
# Escape closing parens when expanding %PATH%, otherwise cmd confuses itself.
- cmd = "(set PATH=$$join(deppath, ;);%PATH:)=^)%) & $$cmd"
+ cmd = "(set PATH=$$join(deppath, ;);%PATH:)=^)%) & $$pluginpath$$cmd"
}
}