diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2012-12-10 16:11:47 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-10 15:33:54 +0100 |
commit | 903fa2e4aa0d4e0cf0e13216dd8883b5e4a7709d (patch) | |
tree | 2b4a5deff813da0b1c81b26de2e3b348a2828243 | |
parent | f166fcd3d0931ecc08087b12fdac5940e5ccbdf7 (diff) |
Add QT_DEFAULT_QPA_PLUGIN to generated qconfig.pri
Configure will now generate QT_DEFAULT_QPA_PLUGIN qmake variable
to specify the default QPA plugin.
"CONFIG += qpa_default_plugin" statement in application .pro file
will add the default QPA plugin into QTPLUGINS.
"CONFIG += qpa_minimal_plugin" statement in application .pro file
will add the minimal QPA plugin into QTPLUGINS.
Task-number: QTBUG-28131
Change-Id: I12a241005f30b37467d783b50f0369b47e605e68
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-rwxr-xr-x | configure | 5 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 4 | ||||
-rw-r--r-- | src/corelib/doc/snippets/code/doc_src_plugins-howto.pro | 3 | ||||
-rw-r--r-- | src/corelib/doc/src/plugins-howto.qdoc | 10 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 3 |
5 files changed, 25 insertions, 0 deletions
@@ -6026,6 +6026,11 @@ QT_NAMESPACE = $QT_NAMESPACE EOF +if [ "$CFG_SHARED" = "no" ]; then + echo "QT_DEFAULT_QPA_PLUGIN = $QT_QPA_DEFAULT_PLATFORM" >> "$QTCONFIG.tmp" + echo >> "$QTCONFIG.tmp" +fi + if [ -n "$PKG_CONFIG_SYSROOT_DIR" ] || [ -n "$PKG_CONFIG_LIBDIR" ]; then echo "# pkgconfig" >> "$QTCONFIG.tmp" echo "PKG_CONFIG_SYSROOT_DIR = $PKG_CONFIG_SYSROOT_DIR" >> "$QTCONFIG.tmp" diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 6b2833b09e..0735ec465c 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -40,6 +40,10 @@ QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN contains(QT_CONFIG, static) { QT_PLUGIN_VERIFY += QTPLUGIN contains(TEMPLATE, .*app) { + contains(QT, gui) { + qpa_minimal_plugin: QTPLUGIN += qminimal + qpa_default_plugin: QTPLUGIN += $$QT_DEFAULT_QPA_PLUGIN + } import_plugins:!isEmpty(QTPLUGIN) { IMPORT_FILE_CONT = \ "// This file is autogenerated by qmake. It imports static plugin classes for" \ diff --git a/src/corelib/doc/snippets/code/doc_src_plugins-howto.pro b/src/corelib/doc/snippets/code/doc_src_plugins-howto.pro index 20d5f7e41b..2b20811377 100644 --- a/src/corelib/doc/snippets/code/doc_src_plugins-howto.pro +++ b/src/corelib/doc/snippets/code/doc_src_plugins-howto.pro @@ -42,6 +42,9 @@ CONFIG += release #! [3] +#! [4] +CONFIG += qpa_default_plugin import_plugins +#! [4] #! [5] QTPLUGIN += qjpeg \ diff --git a/src/corelib/doc/src/plugins-howto.qdoc b/src/corelib/doc/src/plugins-howto.qdoc index 332b92596b..37c1c13fea 100644 --- a/src/corelib/doc/src/plugins-howto.qdoc +++ b/src/corelib/doc/src/plugins-howto.qdoc @@ -296,6 +296,16 @@ to make sure that the \c{QT_STATICPLUGIN} preprocessor macro is defined. + Qt platform adaptation plugins are not automatically linked in static + builds. To add default QPA plugin to \c QTPLUGIN variable and automatically + generate Q_IMPORT_PLUGIN statements for your application, add the following + to \c CONFIG: + + \snippet code/doc_src_plugins-howto.pro 4 + + If the minimal QPA plugin is required, use \c qpa_minimal_plugin instead of + \c qpa_default_plugin. + \section1 Deploying and Debugging Plugins The \l{Deploying Plugins} document covers the process of deploying diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 696d07ade4..2bb670dfd7 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -3099,6 +3099,9 @@ void Configure::generateQConfigPri() if (!dictionary["QT_NAMESPACE"].isEmpty()) configStream << "#namespaces" << endl << "QT_NAMESPACE = " << dictionary["QT_NAMESPACE"] << endl; + if (dictionary[ "SHARED" ] == "no") + configStream << "QT_DEFAULT_QPA_PLUGIN = " << qpaPlatformName() << endl; + configStream.flush(); configFile.close(); } |