qt_generate_wayland_protocol_server_sources
Generates server-side C++ bindings for a Wayland protocol .XML file
The command is defined in the WaylandCompositor
component of the Qt6
package, which can be loaded like so:
find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
This command was introduced in Qt 6.0.
Synopsis
qt_generate_wayland_protocol_server_sources(target [PUBLIC_CODE | PRIVATE_CODE] FILES file1.xml [file2.xml ...])
If versionless commands are disabled, use qt6_generate_wayland_protocol_server_sources()
instead. It supports the same set of arguments as this command.
Description
qt_generate_wayland_protocol_server_sources() creates the build steps to run waylandscanner
and qtwaylandscanner
on one or more Wayland protocol files. The tools will in turn generate binding code in C and C++ for implementing the protocols, and the resulting files will be built as part of the target
.
The options PUBLIC_CODE
and PRIVATE_CODE
(added in Qt 6.8) correspond to the public-code
and private-code
options of wayland-scanner
. For backwards compatibility PUBLIC_CODE
is the default but generally PRIVATE_CODE
is strongly recommended.
qt_generate_wayland_protocol_server_sources() will trigger generation of the files needed to implement the compositor side of the protocol.
qt_generate_wayland_protocol_client_sources() is the equivalent function for the client.
See the Custom Shell or Custom Extension examples for a demonstration of how to use these functions.