wayland: Link statically KWindowSystem integration plugin

Without the KWindowSystem integration plugin, Wayland experience will be
negatively affected because windows created by kwin itself won't behave
as desired. Therefore it makes little sense to load this plugin at runtime.
This commit is contained in:
Vlad Zahorodnii 2020-11-21 12:22:48 +02:00
parent 49e0b84d84
commit f3a902911a
6 changed files with 7 additions and 10 deletions

View file

@ -830,6 +830,7 @@ add_subdirectory(plugins)
target_link_libraries(kwin_wayland
KWinQpaPlugin
KF5GlobalAccelPrivateKWin
KF5WindowSystemKWinPrivatePlugin
)
########### install files ###############

View file

@ -34,6 +34,7 @@ target_link_libraries(KWinIntegrationTestFramework
# Static plugins
KWinQpaPlugin
KF5GlobalAccelPrivateKWin
KF5WindowSystemKWinPrivatePlugin
)
function(integrationTest)

View file

@ -32,6 +32,7 @@
Q_IMPORT_PLUGIN(KWinIntegrationPlugin)
Q_IMPORT_PLUGIN(KGlobalAccelImpl)
Q_IMPORT_PLUGIN(KWindowSystemKWinPlugin)
namespace KWin
{

View file

@ -62,6 +62,7 @@
Q_IMPORT_PLUGIN(KWinIntegrationPlugin)
Q_IMPORT_PLUGIN(KGlobalAccelImpl)
Q_IMPORT_PLUGIN(KWindowSystemKWinPlugin)
namespace KWin
{

View file

@ -5,13 +5,6 @@ set(kwindowsystem_plugin_SRCS
windowsystem.cpp
)
add_library(KF5WindowSystemKWinPrivatePlugin MODULE ${kwindowsystem_plugin_SRCS})
set_target_properties(KF5WindowSystemKWinPrivatePlugin PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kwindowsystem/")
add_library(KF5WindowSystemKWinPrivatePlugin OBJECT ${kwindowsystem_plugin_SRCS})
target_compile_definitions(KF5WindowSystemKWinPrivatePlugin PRIVATE QT_STATICPLUGIN)
target_link_libraries(KF5WindowSystemKWinPrivatePlugin kwin)
install(
TARGETS
KF5WindowSystemKWinPrivatePlugin
DESTINATION
${PLUGIN_INSTALL_DIR}/kf5/kwindowsystem/
)

View file

@ -10,7 +10,7 @@
class KWindowSystemKWinPlugin : public KWindowSystemPluginInterface
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.kde.kwindowsystem.KWindowSystemPluginInterface" FILE "kwindowsystem.json")
Q_PLUGIN_METADATA(IID KWindowSystemPluginInterface_iid FILE "kwindowsystem.json")
Q_INTERFACES(KWindowSystemPluginInterface)
public: