kdeconnect-kde/kded/CMakeLists.txt
Àlex Fiestas 408533f25c Fix dbus activation by using configure_file + install
Instead of using CMake build in macros, install and configure the
service file the same way we do in many others KDE projects such ktp or
bluedevil.

This fixes the dbus activation in different ways:
-Makes it possible to install in different prefixes (not only /usr/lib)
-Replaces the binary with the correct path (taking into account prefix)
2014-12-09 22:27:16 +01:00

30 lines
1.3 KiB
CMake

include_directories(${CMAKE_SOURCE_DIR})
add_definitions(-DTRANSLATION_DOMAIN="kdeconnect-kded")
configure_file(config-kded.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kded.h)
add_executable(kdeconnectd kdeconnectd.cpp)
target_link_libraries(kdeconnectd kdeconnectcore KF5::DBusAddons KF5::ConfigWidgets)
set(NEW_DAEMON_STARTUP_DESC "WIP: Start kdeconnectd without kded")
option(WITH_AUTOSTART NEW_DAEMON_STARTUP_DESC Off)
add_feature_info(WITH_AUTOSTART WITH_AUTOSTART NEW_DAEMON_STARTUP_DESC)
if (NOT WITH_AUTOSTART)
add_library(kded_kdeconnect MODULE kded.cpp)
target_link_libraries(kded_kdeconnect KF5::Service KF5::DBusAddons)
install(TARGETS kded_kdeconnect DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES kdeconnect.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kded)
else()
configure_file(kdeconnectd.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/kdeconnectd.desktop)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kdeconnectd.desktop DESTINATION ${AUTOSTART_INSTALL_DIR})
endif()
install(TARGETS kdeconnectd DESTINATION ${LIBEXEC_INSTALL_DIR})
configure_file(org.kde.kdeconnect.service.in
${CMAKE_CURRENT_BINARY_DIR}/org.kde.kdeconnect.service)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kdeconnect.service
DESTINATION ${DBUS_SERVICES_INSTALL_DIR})