diff options
Diffstat (limited to 'src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc')
-rw-r--r-- | src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc b/src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc new file mode 100644 index 000000000..0abd14d4e --- /dev/null +++ b/src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc @@ -0,0 +1,51 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! +\page qt-generate-wayland-protocol-client-sources.html +\ingroup cmake-commands-qtwaylandclient + +\title qt_generate_wayland_protocol_client_sources +\keyword qt6_generate_wayland_protocol_client_sources + +\summary {Generates client-side C++ bindings for a Wayland protocol .XML file} + +\cmakecommandsince 6.0 + +The command is defined in the \c WaylandClient component of the \c Qt6 package, which +can be loaded like so: + +\badcode +find_package(Qt6 REQUIRED COMPONENTS WaylandClient) +\endcode + +\section1 Synopsis + +\badcode +qt_generate_wayland_protocol_client_sources(target + [PUBLIC_CODE | PRIVATE_CODE] + FILES file1.xml [file2.xml ...]) +\endcode + +\versionlessCMakeCommandsNote qt6_generate_wayland_protocol_client_sources() + +\section1 Description + +qt_generate_wayland_protocol_client_sources() creates the build steps to run \c{wayland-scanner} and +\c{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 \c target. + +The options \c{PUBLIC_CODE} and \c{PRIVATE_CODE} correspond to the \c{public-code} and +\c{private-code} options of \c{wayland-scanner}. \c{PUBLIC_CODE} will cause the symbols in the +code that is generated by \c{wayland-scanner} to be exported. For backwards compatibility \c{PUBLIC_CODE} is the +default but generally \c{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. \l{qt_generate_wayland_protocol_server_sources}{qt_generate_wayland_protocol_server_sources()} +is the equivalent function for the compositor. + +See the \l{Custom Shell} or \l{Custom Extension} examples for a demonstration of how to use these +functions. +*/ + |