Link builds using static Qt also against Wayland shell integration plugins

These are required; the Wayland integration plugin alone is not sufficient.
This commit is contained in:
Martchus 2022-05-02 20:15:07 +02:00
parent b709ab887f
commit 752c8cdc71
2 changed files with 18 additions and 1 deletions

View File

@ -195,6 +195,20 @@ if (STATIC_LINKAGE OR QT_TARGET_TYPE STREQUAL STATIC_LIBRARY)
PLUGINS
WaylandIntegration
ONLY_PLUGINS)
use_qt_module(
LIBRARIES_VARIABLE
"${QT_PLUGINS_LIBRARIES_VARIABLE}"
PREFIX
"${QT_PACKAGE_PREFIX}"
MODULE
WaylandClient
PLUGINS
WaylandXdgShellIntegration
WaylandWlShellIntegration
WaylandIviShellIntegration
WaylandQtShellIntegration
ONLY_PLUGINS
PLUGINS_OPTIONAL)
endif ()
endif ()

View File

@ -31,7 +31,7 @@ endif ()
# define function for using Qt and KDE Frameworks modules and static plugins
macro (use_qt_module)
# parse arguments
set(OPTIONAL_ARGS ONLY_PLUGINS)
set(OPTIONAL_ARGS ONLY_PLUGINS PLUGINS_OPTIONAL)
set(ONE_VALUE_ARGS PREFIX MODULE VISIBILITY LIBRARIES_VARIABLE)
set(MULTI_VALUE_ARGS TARGETS PLUGINS)
cmake_parse_arguments(ARGS "${OPTIONAL_ARGS}" "${ONE_VALUE_ARGS}" "${MULTI_VALUE_ARGS}" ${ARGN})
@ -103,6 +103,9 @@ macro (use_qt_module)
endif ()
endif ()
if (NOT TARGET "${PLUGIN_TARGET}")
if (NOT PLUGINS_OPTIONAL)
continue()
endif ()
message(
FATAL_ERROR
"The ${ARGS_PREFIX}${ARGS_MODULE} package does not provide the target ${ARGS_PREFIX}::Q${PLUGIN}Plugin.")