// 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 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{waylandscanner} 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. 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. */