summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt.prf
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2016-12-06 17:27:50 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-01-06 20:10:24 +0000
commit9576b71fe8c0dea978f4bcbe15526e0e3e643cfd (patch)
treef71259e629ecc8f08ed401ef4742abcaf2720849 /mkspecs/features/qt.prf
parent696c3f9af852537897aa754dc269833ead9fcf41 (diff)
import static plugins also into dlls
static plugins must be actually linked into the target whenever it is not a static library itself. apart from fixing qml plugin linkage, this also provides a more generic fix for the already fixed linking of activeqt controls. Task-number: QTBUG-28215 Task-number: QTBUG-55279 Change-Id: I9661369bf3dfc6bcf3a5ed563e6716eb3ef6e76e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'mkspecs/features/qt.prf')
-rw-r--r--mkspecs/features/qt.prf11
1 files changed, 6 insertions, 5 deletions
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index bfa6c7988d..a4e3b0247d 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -45,6 +45,9 @@ qaxserver {
QT += axserver
}
+!force_import_plugins:!contains(TEMPLATE, ".*app"):!if(contains(TEMPLATE, ".*lib"):dll): \
+ CONFIG -= import_plugins
+
# target variable, flag source variable
defineTest(qtProcessModuleFlags) {
for(flag, $$2) {
@@ -191,9 +194,9 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.")
QMAKE_RPATHLINKDIR *= $$unique(rpaths)
}
-# static builds: link qml import plugins into the app.
+# static builds: link qml import plugins into the target.
contains(qt_module_deps, qml): \
- qtConfig(static):contains(TEMPLATE, .*app):!host_build:!no_import_scan {
+ qtConfig(static):import_plugins:!host_build:!no_import_scan {
exists($$[QT_INSTALL_QML/get]): \
QMLPATHS *= $$[QT_INSTALL_QML/get]
@@ -249,7 +252,7 @@ contains(qt_module_deps, qml): \
QTPLUGIN.platforms = qminimal
}
-contains(TEMPLATE, .*app) {
+import_plugins {
autoplugs =
for (qtmod, qt_module_deps) {
for (ptype, QT.$${qtmod}.plugin_types) {
@@ -282,7 +285,6 @@ contains(TEMPLATE, .*app) {
}
qtConfig(static) {
- force_import_plugins|contains(TEMPLATE, .*app) {
import_plugins:!isEmpty(QTPLUGIN) {
IMPORT_FILE_CONT = \
"// This file is autogenerated by qmake. It imports static plugin classes for" \
@@ -300,7 +302,6 @@ qtConfig(static) {
GENERATED_SOURCES += $$IMPORT_CPP
QMAKE_DISTCLEAN += $$IMPORT_CPP
}
- }
for (QTPLUG, $$list($$lower($$unique(QTPLUGIN)))) {
# Check if the plugin is known to Qt. We can use this to determine