diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2016-12-06 17:27:50 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-01-06 20:10:24 +0000 |
commit | 9576b71fe8c0dea978f4bcbe15526e0e3e643cfd (patch) | |
tree | f71259e629ecc8f08ed401ef4742abcaf2720849 /mkspecs/features/qt.prf | |
parent | 696c3f9af852537897aa754dc269833ead9fcf41 (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.prf | 11 |
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 |