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 PLUGINS
WaylandIntegration WaylandIntegration
ONLY_PLUGINS) 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 ()
endif () endif ()

View File

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