ECMGenerateDBusServiceFileΒΆ

This module provides the ecm_generate_dbus_service_file function for generating and installing a D-Bus service file.

ecm_generate_dbus_service_file(
    NAME <service name>
    EXECUTABLE <executable>
    [SYSTEMD_SERVICE <systemd service>]
    DESTINATION <install_path>
    [RENAME <dbus service filename>] # Since 5.75
)

A D-Bus service file <service name>.service will be generated and installed in the relevant D-Bus config location. This filename can be customized with RENAME.

<executable> must be an absolute path to the installed service executable. When using it with KDEInstallDirs it needs to be the _FULL_ variant of the path variable.

Note

On Windows, the macro will only use the file name part of <executable> since D-Bus service executables are to be installed in the same directory as the D-Bus daemon.

Optionally, a <systemd service> can be specified to launch the corresponding systemd service instead of the <executable> if the D-Bus daemon is started by systemd.

Example usage:

ecm_generate_dbus_service_file(
    NAME org.kde.kded5
    EXECUTABLE ${KDE_INSTALL_FULL_BINDIR}/kded5
    DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
)
ecm_generate_dbus_service_file(
    NAME org.kde.kded5
    EXECUTABLE ${KDE_INSTALL_FULL_BINDIR}/kded5
    SYSTEMD_SERVICE plasma-kded.service
    DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
    RENAME org.kde.daemon.service
)

Since 5.73.0.