diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..a4881f1 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.21) +project(slack-timedate) + +include(GNUInstallDirs) + +set(CMAKE_EXPORT_COMPILE_COMMANDS 1) +set(CMAKE_CXX_STANDARD 17) + +find_package(PkgConfig) +pkg_check_modules(GDBUS REQUIRED gio-2.0 dbus-1) +find_program(SED sed) + +add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/org.freedesktop.timedate1.service + COMMAND ${SED} -e s|@LIBEXECDIR@|${CMAKE_INSTALL_LIBEXECDIR}| ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.timedate1.service.in > ${PROJECT_BINARY_DIR}/org.freedesktop.timedate1.service + MAIN_DEPENDENCY org.freedesktop.timedate1.service.in + VERBATIM) +add_custom_target(service ALL DEPENDS ${PROJECT_BINARY_DIR}/org.freedesktop.timedate1.service) + +add_executable(slack-timedate + slack-timedate.cpp slack-timedate.h +) +target_include_directories(slack-timedate PRIVATE ${GDBUS_INCLUDE_DIRS}) +target_link_libraries(slack-timedate ${GDBUS_LIBRARIES}) + +install(TARGETS slack-timedate DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) +install(FILES org.freedesktop.timedate1.xml + DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/interfaces) +install(FILES org.freedesktop.timedate1.policy + DESTINATION ${CMAKE_INSTALL_DATADIR}/polkit-1/actions) +install(FILES org.freedesktop.timedate1.conf + DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d) +install(FILES ${PROJECT_BINARY_DIR}/org.freedesktop.timedate1.service + DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/system-services) |
