Generates client-side C++ bindings for a Wayland protocol .XML file
命令的定义在
WaylandClient
组件对于
Qt6
包,可以像这样加载:
find_package(Qt6 REQUIRED COMPONENTS WaylandClient)
该命令在 Qt 6.0 引入。
qt_generate_wayland_protocol_client_sources(target
[PUBLIC_CODE | PRIVATE_CODE]
FILES file1.xml [file2.xml ...])
若
无版本命令
被禁用,使用
qt6_generate_wayland_protocol_client_sources()
代替。它支持如此命令的一组相同自变量。
qt_generate_wayland_protocol_client_sources() creates the build steps to run
wayland-scanner
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
.
PUBLIC_CODE
will cause the symbols in the code that is generated by
wayland-scanner
to be exported. For backwards compatibility
PUBLIC_CODE
is the default but generally
PRIVATE_CODE
is strongly recommended.
qt_generate_wayland_protocol_client_sources() will trigger generation of the files needed to implement the client side of the protocol. qt_generate_wayland_protocol_server_sources() is the equivalent function for the compositor.
见 自定义 Shell or Custom Extension examples for a demonstration of how to use these functions.