qt_generate_wayland_protocol_client_sources
Génère des liens C++ côté client pour un fichier .XML de protocole Wayland.
La commande est définie dans le composant WaylandClient du paquetage Qt6, qui peut être chargé comme suit :
find_package(Qt6 REQUIRED COMPONENTS WaylandClient)
Cette commande a été introduite dans Qt 6.0.
Synopsis
qt_generate_wayland_protocol_client_sources(target
[PUBLIC_CODE | PRIVATE_CODE]
[NO_INCLUDE_CORE_ONLY]
FILES file1.xml [file2.xml ...])Si les commandes sans version sont désactivées, utilisez qt6_generate_wayland_protocol_client_sources() à la place. Il prend en charge le même ensemble d'arguments que cette commande.
Description de la commande
qt_generate_wayland_protocol_client_sources() crée les étapes de construction pour exécuter wayland-scanner et qtwaylandscanner sur un ou plusieurs fichiers de protocole Wayland. Les outils généreront à leur tour du code de liaison en C et C++ pour implémenter les protocoles, et les fichiers résultants seront construits dans le cadre du projet target.
Les options PUBLIC_CODE et PRIVATE_CODE (ajoutées dans Qt XML 6.8) correspondent aux options public-code et private-code de wayland-scanner. PUBLIC_CODE entraînera l'exportation des symboles dans le code généré par wayland-scanner. Pour des raisons de compatibilité ascendante, PUBLIC_CODE est l'option par défaut, mais en général, PRIVATE_CODE est fortement recommandé.
Par défaut, wayland-scanner est invoqué avec l'argument --include-core-only, ce qui garantit que le code généré inclut "wayland-client-core.h". Ce comportement peut être désactivé à l'aide de l'option NO_INCLUDE_CORE_ONLY, qui remplace l'inclusion par "wayland-client.h".
Note : L'utilisation de NO_INCLUDE_CORE_ONLY est généralement déconseillée. "wayland-client.h" inclut une version précompilée du protocole Wayland de base qui peut entrer en conflit avec des versions plus récentes du protocole ou d'autres en-têtes (comme les anciennes versions de Vulkan). N'utilisez cette option que si vous avez un besoin spécifique pour des types qui ne sont pas présents dans l'en-tête de base et que vous êtes conscient des conflits potentiels au moment de la compilation.
qt_generate_wayland_protocol_client_sources() déclenche la génération des fichiers nécessaires à l'implémentation du côté client du protocole. qt_generate_wayland_protocol_server_sources() est la fonction équivalente pour le compositeur.
Voir les exemples de Custom Shell ou de Custom Extension pour une démonstration de l'utilisation de ces fonctions.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.