Sur cette page

qt_generate_wayland_protocol_server_sources

Génère des liaisons C++ côté serveur pour un fichier .XML de protocole Wayland

La commande est définie dans le composant « WaylandCompositor » du paquet « Qt6 », qui peut être chargé comme suit :

find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)

Cette commande a été introduite dans Qt 6.0.

Syntaxe

qt_generate_wayland_protocol_server_sources(target
                                            [PUBLIC_CODE | PRIVATE_CODE]
                                            FILES file1.xml [file2.xml ...])

Si les commandes sans version sont désactivées, utilisez plutôt qt6_generate_wayland_protocol_server_sources(). Elle prend en charge le même ensemble d'arguments que cette commande.

Description

qt_generate_wayland_protocol_server_sources() crée les étapes de compilation nécessaires pour exécuter waylandscanner 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.

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 fortement recommandé.

La fonction `qt_generate_wayland_protocol_server_sources()` déclenche la génération des fichiers nécessaires à la mise en œuvre de la partie « compositeur » du protocole.

qt_generate_wayland_protocol_client_sources() est la fonction équivalente pour le client.

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.