qt_add_dbus_interface

Generates C++ sources implementing an interface for a D-Bus interface description file.

The command is defined in the DBus component of the Qt6 package. Load the package with:

 find_package(Qt6 REQUIRED COMPONENTS DBus)

This command was introduced in Qt 6.0.

Synopsis

 qt_add_dbus_interface(<VAR> dbus_spec basename)

If versionless commands are disabled, use qt6_add_dbus_interface() instead. It supports the same set of arguments as this command.

Description

Generates C++ sources implementing an interface for a D-Bus interface description file defined in dbus_spec. The generated files are named after basename: basename.h, basename.cpp, basename.moc. The paths of the files are added to <VAR>.

The function sets up a call to the Qt D-Bus XML compiler (qdbusxml2cpp) in interface (proxy) mode. By default, qdbusxml2cpp generates a C++ class named after the interface name, with a namespaced alias:

D-Bus Interface NameClass nameNamespaced name
org.example.chatOrgExampleChatInterfaceorg.example.chat

Options

Options can be set using set_source_files_properties on the dbus_spec:

OptionValueDescription
CLASSNAMEclass_nameOverride the default interface class name with class_name.
NO_NAMESPACEbooleanDo not generate the namespaced name if set to ON.
INCLUDEpathAdd an #include "path" in the generated code.