diff options
author | Alexey Edelev <[email protected]> | 2020-11-06 17:18:18 +0100 |
---|---|---|
committer | Alexey Edelev <[email protected]> | 2020-11-09 18:47:51 +0100 |
commit | 76230d98795a2e7a365328eb693ff57f6ddd7f1d (patch) | |
tree | 406a34ba3194f8ed7253a8968e404439f2640c4c | |
parent | 632da28e9ca1d67639f60e4c20ca54b38ae10dcd (diff) |
CMake: Add handling of PLUGIN_EXTENDS for generic plugins
Modify pro2cmake converter to add extra argument to
qt_internal_add_plugin. DEFINE_IF FALSE is added to generic plugins
those had "PLUGIN_EXTENDS = - " specified in .pro files.
Fixes: QTBUG-87861
Change-Id: I9269df19a32a088f5261f50e7ffff6d29c3d605f
Reviewed-by: Alexandru Croitor <[email protected]>
-rw-r--r-- | cmake/QtPluginHelpers.cmake | 5 | ||||
-rw-r--r-- | src/plugins/generic/evdevkeyboard/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/generic/evdevmouse/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/generic/evdevtablet/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/generic/evdevtouch/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/generic/libinput/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/generic/tslib/.prev_CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/generic/tslib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/generic/tuiotouch/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/platforminputcontexts/compose/.prev_CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/platforminputcontexts/compose/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/platforminputcontexts/ibus/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/platformthemes/gtk3/.prev_CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/platformthemes/gtk3/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt | 1 | ||||
-rwxr-xr-x | util/cmake/pro2cmake.py | 4 |
16 files changed, 20 insertions, 3 deletions
diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake index b5250a47175..ade09cb2a13 100644 --- a/cmake/QtPluginHelpers.cmake +++ b/cmake/QtPluginHelpers.cmake @@ -133,11 +133,10 @@ function(qt_internal_add_plugin target) _qt_plugin_install_package_suffix "${plugin_install_package_suffix}") endif() - # TODO: This is a bit too coarse for generic plugins. - # The generic plugins should also be enabled by default, once QTBUG-87861 is fixed. + # The generic plugins should be enabled by default. # But platform plugins should always be disabled by default, and only one is enabled # based on the platform (condition specified in arg_DEFAULT_IF). - if(plugin_type_escaped STREQUAL "generic" OR plugin_type_escaped STREQUAL "platforms") + if(plugin_type_escaped STREQUAL "platforms") set(_default_plugin 0) else() set(_default_plugin 1) diff --git a/src/plugins/generic/evdevkeyboard/CMakeLists.txt b/src/plugins/generic/evdevkeyboard/CMakeLists.txt index 81508badf0a..c6411cd76a7 100644 --- a/src/plugins/generic/evdevkeyboard/CMakeLists.txt +++ b/src/plugins/generic/evdevkeyboard/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QEvdevKeyboardPlugin OUTPUT_NAME qevdevkeyboardplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp PUBLIC_LIBRARIES diff --git a/src/plugins/generic/evdevmouse/CMakeLists.txt b/src/plugins/generic/evdevmouse/CMakeLists.txt index 9241155f9ba..39741fbe259 100644 --- a/src/plugins/generic/evdevmouse/CMakeLists.txt +++ b/src/plugins/generic/evdevmouse/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QEvdevMousePlugin OUTPUT_NAME qevdevmouseplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp PUBLIC_LIBRARIES diff --git a/src/plugins/generic/evdevtablet/CMakeLists.txt b/src/plugins/generic/evdevtablet/CMakeLists.txt index 61e26a0587f..da553f9b473 100644 --- a/src/plugins/generic/evdevtablet/CMakeLists.txt +++ b/src/plugins/generic/evdevtablet/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QEvdevTabletPlugin OUTPUT_NAME qevdevtabletplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp PUBLIC_LIBRARIES diff --git a/src/plugins/generic/evdevtouch/CMakeLists.txt b/src/plugins/generic/evdevtouch/CMakeLists.txt index fbdff8d7a63..ce0b931e9cb 100644 --- a/src/plugins/generic/evdevtouch/CMakeLists.txt +++ b/src/plugins/generic/evdevtouch/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QEvdevTouchScreenPlugin OUTPUT_NAME qevdevtouchplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp PUBLIC_LIBRARIES diff --git a/src/plugins/generic/libinput/CMakeLists.txt b/src/plugins/generic/libinput/CMakeLists.txt index d7c434391e6..a37b898d5a4 100644 --- a/src/plugins/generic/libinput/CMakeLists.txt +++ b/src/plugins/generic/libinput/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QLibInputPlugin OUTPUT_NAME qlibinputplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp PUBLIC_LIBRARIES diff --git a/src/plugins/generic/tslib/.prev_CMakeLists.txt b/src/plugins/generic/tslib/.prev_CMakeLists.txt index ce1c6b952f0..6804ac848ce 100644 --- a/src/plugins/generic/tslib/.prev_CMakeLists.txt +++ b/src/plugins/generic/tslib/.prev_CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QTsLibPlugin OUTPUT_NAME qtslibplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp PUBLIC_LIBRARIES diff --git a/src/plugins/generic/tslib/CMakeLists.txt b/src/plugins/generic/tslib/CMakeLists.txt index 7d234a2456a..b1518051086 100644 --- a/src/plugins/generic/tslib/CMakeLists.txt +++ b/src/plugins/generic/tslib/CMakeLists.txt @@ -9,6 +9,7 @@ qt_find_package(Tslib) # special case qt_internal_add_plugin(QTsLibPlugin OUTPUT_NAME qtslibplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp PUBLIC_LIBRARIES diff --git a/src/plugins/generic/tuiotouch/CMakeLists.txt b/src/plugins/generic/tuiotouch/CMakeLists.txt index 57c77ff0004..ede5c5408ae 100644 --- a/src/plugins/generic/tuiotouch/CMakeLists.txt +++ b/src/plugins/generic/tuiotouch/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QTuioTouchPlugin OUTPUT_NAME qtuiotouchplugin TYPE generic + DEFAULT_IF FALSE SOURCES main.cpp qoscbundle.cpp qoscbundle_p.h diff --git a/src/plugins/platforminputcontexts/compose/.prev_CMakeLists.txt b/src/plugins/platforminputcontexts/compose/.prev_CMakeLists.txt index e4a4856bf5f..1128a4a47c0 100644 --- a/src/plugins/platforminputcontexts/compose/.prev_CMakeLists.txt +++ b/src/plugins/platforminputcontexts/compose/.prev_CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QComposePlatformInputContextPlugin OUTPUT_NAME composeplatforminputcontextplugin TYPE platforminputcontexts + DEFAULT_IF FALSE SOURCES qcomposeplatforminputcontext.cpp qcomposeplatforminputcontext.h qcomposeplatforminputcontextmain.cpp diff --git a/src/plugins/platforminputcontexts/compose/CMakeLists.txt b/src/plugins/platforminputcontexts/compose/CMakeLists.txt index 90a149f7ace..3d1ebb35a85 100644 --- a/src/plugins/platforminputcontexts/compose/CMakeLists.txt +++ b/src/plugins/platforminputcontexts/compose/CMakeLists.txt @@ -10,6 +10,7 @@ pkg_get_variable(PKG_X11_PREFIX x11 prefix) # special case qt_internal_add_plugin(QComposePlatformInputContextPlugin OUTPUT_NAME composeplatforminputcontextplugin TYPE platforminputcontexts + DEFAULT_IF FALSE SOURCES qcomposeplatforminputcontext.cpp qcomposeplatforminputcontext.h qcomposeplatforminputcontextmain.cpp diff --git a/src/plugins/platforminputcontexts/ibus/CMakeLists.txt b/src/plugins/platforminputcontexts/ibus/CMakeLists.txt index 686f028c6af..2c1a2adb02f 100644 --- a/src/plugins/platforminputcontexts/ibus/CMakeLists.txt +++ b/src/plugins/platforminputcontexts/ibus/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QIbusPlatformInputContextPlugin OUTPUT_NAME ibusplatforminputcontextplugin TYPE platforminputcontexts + DEFAULT_IF FALSE SOURCES main.cpp qibusinputcontextproxy.cpp qibusinputcontextproxy.h diff --git a/src/plugins/platformthemes/gtk3/.prev_CMakeLists.txt b/src/plugins/platformthemes/gtk3/.prev_CMakeLists.txt index 764675101c9..cc77607ab2f 100644 --- a/src/plugins/platformthemes/gtk3/.prev_CMakeLists.txt +++ b/src/plugins/platformthemes/gtk3/.prev_CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QGtk3ThemePlugin OUTPUT_NAME qgtk3 TYPE platformthemes + DEFAULT_IF FALSE SOURCES main.cpp qgtk3dialoghelpers.cpp qgtk3dialoghelpers.h diff --git a/src/plugins/platformthemes/gtk3/CMakeLists.txt b/src/plugins/platformthemes/gtk3/CMakeLists.txt index 042282faf69..f83f48e13ed 100644 --- a/src/plugins/platformthemes/gtk3/CMakeLists.txt +++ b/src/plugins/platformthemes/gtk3/CMakeLists.txt @@ -10,6 +10,7 @@ qt_find_package(X11) # special case qt_internal_add_plugin(QGtk3ThemePlugin OUTPUT_NAME qgtk3 TYPE platformthemes + DEFAULT_IF FALSE SOURCES main.cpp qgtk3dialoghelpers.cpp qgtk3dialoghelpers.h diff --git a/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt b/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt index 2466253af9a..caaf0de7b23 100644 --- a/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt +++ b/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt @@ -7,6 +7,7 @@ qt_internal_add_plugin(QXdgDesktopPortalThemePlugin OUTPUT_NAME qxdgdesktopportal TYPE platformthemes + DEFAULT_IF FALSE SOURCES main.cpp qxdgdesktopportalfiledialog.cpp qxdgdesktopportalfiledialog_p.h diff --git a/util/cmake/pro2cmake.py b/util/cmake/pro2cmake.py index 12b52a6c185..f2d5c7562d2 100755 --- a/util/cmake/pro2cmake.py +++ b/util/cmake/pro2cmake.py @@ -3913,6 +3913,10 @@ def write_plugin(cm_fh, scope, *, indent: int = 0) -> str: if "static" in scope.get("CONFIG"): extra.append("STATIC") + plugin_extends = scope.get_string("PLUGIN_EXTENDS") + if plugin_type != "platform" and plugin_extends == "-": + extra.append("DEFAULT_IF FALSE") + forward_target_info(scope, extra) write_main_part( |