408533f25c
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)
30 lines
1.3 KiB
CMake
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})
|