qt_generate_wayland_protocol_server_sources
Erzeugt serverseitige C++-Bindings für eine .XML-Datei des Wayland-Protokolls
Der Befehl ist in der Komponente „ WaylandCompositor “ des Pakets „ Qt6 “ definiert, das wie folgt geladen werden kann:
find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)Dieser Befehl wurde in Qt 6.0 eingeführt.
Übersicht
qt_generate_wayland_protocol_server_sources(target
[PUBLIC_CODE | PRIVATE_CODE]
FILES file1.xml [file2.xml ...])Wenn versionsunabhängige Befehle deaktiviert sind, verwenden Sie stattdessen „ qt6_generate_wayland_protocol_server_sources() “. Dieser Befehl unterstützt dieselben Argumente wie der vorliegende Befehl.
Beschreibung
qt_generate_wayland_protocol_server_sources() erstellt die Build-Schritte zum Ausführen von waylandscanner und qtwaylandscanner für eine oder mehrere Wayland-Protokoll-Dateien. Die Tools generieren wiederum Bindungscode in C und C++ zur Implementierung der Protokolle, und die resultierenden Dateien werden als Teil von target erstellt.
Die Optionen „ PUBLIC_CODE “ und „ PRIVATE_CODE “ (in Qt 6.8 hinzugefügt) entsprechen den Optionen „ public-code “ und „ private-code “ von „ wayland-scanner “.
Vor Qt 6.12 war der Standardwert „ PUBLIC_CODE “. Ab Qt 6.12 ist der Standardwert „ PRIVATE_CODE “, wenn die Qt-Richtlinie „qt_cmake_policy_qtp0006“ auf „ NEW “ gesetzt ist. Generell wird „ PRIVATE_CODE “ dringend empfohlen.
qt_generate_wayland_protocol_server_sources() löst die Generierung der Dateien aus, die zur Implementierung der Compositor-Seite des Protokolls erforderlich sind.
qt_generate_wayland_protocol_client_sources() ist die entsprechende Funktion für den Client.
In den Beispielen „Custom Shell“ oder „Custom Extension“ wird die Verwendung dieser Funktionen veranschaulicht.
© 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.