summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-04-12 15:13:18 +0200
committerEugen Wissner <belka@caraus.de>2024-04-12 15:13:18 +0200
commit729e175e6b96099323a4e3266faad9af0958112e (patch)
treeca1dacf2ec0d7afb0775027dafff91648d841ef6 /CMakeLists.txt
parent479a390effbf0b122b5c28a9c3c42d3e8d384898 (diff)
downloadslack-timedate-729e175e6b96099323a4e3266faad9af0958112e.tar.gz
Replace autotools with CMake
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt33
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)