diff options
author | David Faure <faure@kde.org> | 2012-10-31 18:22:22 +0100 |
---|---|---|
committer | David Faure <faure@kde.org> | 2012-10-31 18:24:32 +0100 |
commit | 9d8174f0777647285c72e0c4da2a75ac9a58e750 (patch) | |
tree | 9ffd8ad12700c385aa34a96c11e15eaf171a259b /modules/ECMDBusAddActivationService.cmake | |
parent | e80c4de28ab31bd90875c792448aec671a288957 (diff) | |
download | extra-cmake-modules-9d8174f0777647285c72e0c4da2a75ac9a58e750.tar.gz extra-cmake-modules-9d8174f0777647285c72e0c4da2a75ac9a58e750.tar.bz2 |
Rename file and macro for consistency, as requested by Alexander.
"Can you please rename it to ECMDBusAddActivationService.cmake and
the contained macro to ecm_dbus_add_activation_service(), so it follows the
naming conventions in cmake (macro has the same name as the file) and ecm (all
macros have the prefix ecm)." -> Done.
Nothing to adapt in kdelibs-frameworks yet, it has its own copy for now
(I'll get rid of it at the next ECM version upgrade).
Diffstat (limited to 'modules/ECMDBusAddActivationService.cmake')
-rw-r--r-- | modules/ECMDBusAddActivationService.cmake | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/ECMDBusAddActivationService.cmake b/modules/ECMDBusAddActivationService.cmake new file mode 100644 index 00000000..d65be03c --- /dev/null +++ b/modules/ECMDBusAddActivationService.cmake @@ -0,0 +1,42 @@ +# Install a DBus ".service" file, so that a program can be started via DBus activation. +# +# ecm_dbus_add_activation_service(inputfile) +# +# This macro will read the input file, generate a .service file from it, and install it +# into the right directory for the dbus server to find it. +# +# Note that in the case of custom install prefixes, the user will have to add the prefix +# to XDG_DATA_DIRS before starting the DBus server. +# +# Example: +# ecm_dbus_add_activation_service(org.mydomain.myapp.service.in) +# +# The file org.mydomain.myapp.service.in contains: +# +# [D-BUS Service] +# Name=org.mydomain.myapp +# Exec=@CMAKE_INSTALL_PREFIX@/bin/myapp +# +# This will create and install PREFIX/share/dbus-1/services/org.mydomain.myapp.service +# +# See http://techbase.kde.org/Development/Tutorials/D-Bus/Autostart_Services for +# a more complete documentation. +# +# Copyright 2012 David Faure <faure@kde.org> +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. + +macro(ecm_dbus_add_activation_service _sources) + foreach(_i ${_sources}) + get_filename_component(_service_file ${_i} ABSOLUTE) + string(REGEX REPLACE "\\.service.*$" ".service" _output_file ${_i}) + set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_output_file}) + configure_file(${_service_file} ${_target}) + install(FILES ${_target} DESTINATION ${DBUS_SERVICES_INSTALL_DIR}) + endforeach() +endmacro() |