summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt.prf
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-04-11 14:36:55 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-04-11 14:36:55 +0200
commit98d3e40fb7c88b670a93e73dace2d0f05a5f903c (patch)
treeb1292124a86c219fb434db4ec28e8f805ff52287 /mkspecs/features/qt.prf
parenta74e4b85be83e2da47f4a1d8fcf0e78079335b80 (diff)
parentbab494e4d046f5617d19f5fec35eeff94377c51f (diff)
Merge remote-tracking branch 'origin/stable' into dev
Conflicts: mkspecs/qnx-armv7le-qcc/qplatformdefs.h src/printsupport/kernel/qcups.cpp src/widgets/styles/qstyle.h tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
Diffstat (limited to 'mkspecs/features/qt.prf')
-rw-r--r--mkspecs/features/qt.prf41
1 files changed, 39 insertions, 2 deletions
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 7a613fe0ff..a1eea2bef8 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -73,10 +73,11 @@ wince*:static:gui {
QTLIB += qmenu_wce.res
}
-# static builds: link qml import plugins into the app.
qt_module_deps = $$QT $$QT_PRIVATE
qt_module_deps = $$replace(qt_module_deps, -private$, _private)
qt_module_deps = $$resolve_depends(qt_module_deps, "QT.")
+
+# static builds: link qml import plugins into the app.
contains(qt_module_deps, qml): \
contains(QT_CONFIG, static):contains(TEMPLATE, .*app):!host_build:!no_import_scan {
# run qmlimportscanner
@@ -162,6 +163,37 @@ contains(qt_module_deps, qml): \
}
}
+contains(TEMPLATE, .*app) {
+ autoplugs =
+ for (qtmod, qt_module_deps) {
+ for (ptype, QT.$${qtmod}.plugin_types) {
+ isEmpty(QTPLUGIN.$$ptype) {
+ for (plug, QT_PLUGINS) {
+ equals(QT_PLUGIN.$${plug}.TYPE, $$ptype) {
+ for (dep, QT_PLUGIN.$${plug}.EXTENDS) {
+ !contains(qt_module_deps, $$dep) {
+ plug =
+ break()
+ }
+ }
+ autoplugs += $$plug
+ }
+ }
+ } else {
+ plug = $$eval(QTPLUGIN.$$ptype)
+ !equals(plug, -): \
+ autoplugs += $$plug
+ }
+ }
+ }
+ manualplugs = $$QTPLUGIN
+ manualplugs -= $$autoplugs
+ QTPLUGIN -= $$manualplugs
+ !isEmpty(QTPLUGIN): \
+ warning("Redundant entries in QTPLUGIN: $$QTPLUGIN")
+ QTPLUGIN = $$manualplugs $$autoplugs
+}
+
QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN
contains(QT_CONFIG, static) {
QT_PLUGIN_VERIFY += QTPLUGIN
@@ -209,7 +241,12 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) {
# Only link against plugin in static builds
isEqual(QT_CURRENT_VERIFY, QTPLUGIN): {
- !isEmpty(QT_PLUGINPATH): LIBS *= -L$$[QT_INSTALL_PLUGINS/get]/$$QT_PLUGINPATH
+ !isEmpty(QT_PLUGINPATH) {
+ plugpath = $$eval(QT_PLUGIN.$${QTPLUG}.PATH)
+ isEmpty(plugpath): \
+ plugpath = $$[QT_INSTALL_PLUGINS/get]
+ LIBS *= -L$$plugpath/$$QT_PLUGINPATH
+ }
LIBS += $$QT_LINKAGE
# if the plugin is linked statically there is no need to deploy it
DEPLOYMENT_PLUGIN -= $$QT_CURRENT_VERIFY