From 733ac1f6e6b3155a594376ef99288c6117124000 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 24 Oct 2012 15:02:08 +0200 Subject: let static plugins have "module" pri files ... and use them in qt.prf instead of (not) maintaining hand-coded lists. Change-Id: Ia21f7864eaf3ca92fa75f23876f71075d0521f4b Reviewed-by: Mark Brand --- mkspecs/features/qt.prf | 32 +------------------------------- mkspecs/features/qt_plugin.prf | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 31 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 679dfc422c..c4b991becd 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -40,37 +40,7 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) { for(QTPLUG, $$list($$lower($$unique($$QT_CURRENT_VERIFY)))) { # Check if the plugin is known to Qt. We can use this to determine # the plugin path. Unknown plugins must rely on the default link path. - ACCESSIBLEPLUGINS = qtaccessiblewidgets qtaccessiblecompatwidgets - BEARERPLUGINS = qgenericbearer qnativewifibearer - CODECPLUGINS = qcncodecs qjpcodecs qkrcodecs qtwcodecs - DECORATIONPLUGINS = qdecorationdefault qdecorationstyled qdecorationwindows - GFXDRIVERPLUGINS = qscreenvfb qgfxtransformed qgfxshadowfb qgfxpvregl qscreenlinuxfb qeglnullws qdirectfbscreen qahiscreen - GRAPHICSSYSTEMPLUGINS = qmeegographicssystem qglgraphicssystem qvggraphicssystem qshivavggraphicssystem - IMAGEPLUGINS = qgif qico qjpeg qsvg - INPUTPLUGINS = qimsw-multi - KBDDRIVERPLUGINS = qlinuxinputkbddriver - MOUSEDRIVERPLUGINS = qtslibmousehandler qpcmousedriver qlinuxtpmousedriver - SQLPLUGINS = qsqldb2 qsqloci qsqltds qsqlodbc qsqlpsql qsqlibase qsqlmysql qsqlite2 qsqlite - PHONONPLUGINS = phonon_waveout phonon_ds9 phonon_gstreamer phonon_qt7 phonon_mmf - - ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$BEARERPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$GRAPHICSSYSTEMPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$KBDDRIVERPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS - - QT_PLUGINPATH = - contains(ALLQTPLUGINS, $$QTPLUG) { - # Determine the plugin path - contains(ACCESSIBLEPLUGINS, $$QTPLUG): QT_PLUGINPATH = accessible - contains(BEARERPLUGINS, $$QTPLUG): QT_PLUGINPATH = bearer - contains(CODECPLUGINS, $$QTPLUG): QT_PLUGINPATH = codecs - contains(DECORATIONPLUGINS, $$QTPLUG): QT_PLUGINPATH = decorations - contains(GFXDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = gfxdrivers - contains(GRAPHICSSYSTEMPLUGINS, $$QTPLUG): QT_PLUGINPATH = graphicssystems - contains(IMAGEPLUGINS, $$QTPLUG): QT_PLUGINPATH = imageformats - contains(INPUTPLUGINS, $$QTPLUG): QT_PLUGINPATH = inputmethods - contains(KBDDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = kbddrivers - contains(MOUSEDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = mousedrivers - contains(SQLPLUGINS, $$QTPLUG): QT_PLUGINPATH = sqldrivers - contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend - } + QT_PLUGINPATH = $$eval(QT_PLUGIN.$${QTPLUG}.TYPE) # Generate the plugin linker line target_qt:isEqual(TARGET, QTPLUG) { diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index 363664bb67..b84fa47dd1 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -20,6 +20,20 @@ contains(QT_CONFIG, c++11):CONFIG += c++11 contains(QT_CONFIG, static):CONFIG += static else:CONFIG += shared +!build_pass:static { + isEmpty(MODULE): MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0) + + MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_plugin_$${MODULE}.pri + + MODULE_PRI_CONT = \ + "QT_PLUGIN.$${MODULE}.TYPE = $$PLUGIN_TYPE" + write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.") + + pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules + pritarget.files = $$MODULE_PRI + INSTALLS += pritarget +} + target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE INSTALLS += target -- cgit v1.2.3