qt_generate_wayland_protocol_client_sources
Génère des liaisons C++ côté client pour un fichier .XML de protocole Wayland.
La commande est définie dans le composant « WaylandClient » du paquet « 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 plutôt ` qt6_generate_wayland_protocol_client_sources() `. Elle prend en charge le même ensemble d'arguments que cette commande.
Description
qt_generate_wayland_protocol_client_sources() crée les étapes de compilation nécessaires pour exécuter wayland-scanner et qtwaylandscanner sur un ou plusieurs fichiers de protocole Wayland. Ces outils génèrent à leur tour du code de liaison en C et C++ pour implémenter les protocoles, et les fichiers résultants sont compilés dans le cadre de l’ target.
Les options PUBLIC_CODE et PRIVATE_CODE (ajoutées dans Qt 6.8) correspondent aux options public-code et private-code de wayland-scanner. L’option PUBLIC_CODE entraîne l’exportation des symboles présents dans le code généré par wayland-scanner.
Avant Qt 6.12, la valeur par défaut était PUBLIC_CODE. À partir de Qt 6.12, la valeur par défaut est PRIVATE_CODE si la politique Qt qt_cmake_policy_qtp0006 est définie sur NEW. En règle générale, PRIVATE_CODE est vivement recommandé.
Par défaut, la commande wayland-scanner est exécutée 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".
Remarque : 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 concernant des types absents de l’en-tête de base et que vous êtes conscient des conflits potentiels lors de la compilation.
La fonction `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. La fonction ` qt_generate_wayland_protocol_server_sources() ` est l’équivalent pour le compositeur.
Consultez les exemples « Custom Shell » ou « Custom Extension » pour découvrir comment utiliser 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.