aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2025-04-01 18:58:38 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2025-04-01 18:58:38 +0200
commite46cd1329492e9e4268a7b8661155eda178b689f (patch)
treec978bd4280995318dfc39658a880f7b31e961b4f
parent7f59c03c4f77c62f76f020e30319d19016b915c8 (diff)
downloadayatana-indicator-datetime-e46cd1329492e9e4268a7b8661155eda178b689f.tar.gz
ayatana-indicator-datetime-e46cd1329492e9e4268a7b8661155eda178b689f.tar.bz2
ayatana-indicator-datetime-e46cd1329492e9e4268a7b8661155eda178b689f.zip
CMake: Switch to building datetime indicator in two variants with different service executable names and systemd service files.
-rw-r--r--data/CMakeLists.txt35
-rw-r--r--data/ayatana-indicator-datetime.service.in4
-rw-r--r--data/lomiri-indicator-datetime.service.in11
-rw-r--r--src/CMakeLists.txt12
4 files changed, 45 insertions, 17 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 726bcec..80a5a93 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -1,4 +1,13 @@
##
+## indicator variant
+##
+if (ENABLE_LOMIRI_FEATURES)
+ set (INDICATOR_VARIANT_NAME "lomiri-indicator-datetime")
+else ()
+ set (INDICATOR_VARIANT_NAME "${CMAKE_PROJECT_NAME}")
+endif ()
+
+##
## GSettings schema
##
@@ -22,7 +31,7 @@ if (${SYSTEMD_FOUND})
pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)
message (STATUS "${SYSTEMD_USER_DIR} is the systemd user unit file install dir")
- set (SYSTEMD_USER_NAME "${CMAKE_PROJECT_NAME}.service")
+ set (SYSTEMD_USER_NAME "${INDICATOR_VARIANT_NAME}.service")
set (SYSTEMD_USER_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SYSTEMD_USER_NAME}")
set (SYSTEMD_USER_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SYSTEMD_USER_NAME}.in")
@@ -38,20 +47,22 @@ endif()
## XDG Autostart File
##
-# where to install
-set (XDG_AUTOSTART_DIR "/etc/xdg/autostart")
-message (STATUS "${XDG_AUTOSTART_DIR} is the DBus Service File install dir")
+if (NOT ENABLE_LOMIRI_FEATURES)
+ # where to install
+ set (XDG_AUTOSTART_DIR "/etc/xdg/autostart")
+ message (STATUS "${XDG_AUTOSTART_DIR} is the DBus Service File install dir")
-set (XDG_AUTOSTART_NAME "${CMAKE_PROJECT_NAME}.desktop")
-set (XDG_AUTOSTART_FILE "${CMAKE_CURRENT_BINARY_DIR}/${XDG_AUTOSTART_NAME}")
-set (XDG_AUTOSTART_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${XDG_AUTOSTART_NAME}.in")
+ set (XDG_AUTOSTART_NAME "${CMAKE_PROJECT_NAME}.desktop")
+ set (XDG_AUTOSTART_FILE "${CMAKE_CURRENT_BINARY_DIR}/${XDG_AUTOSTART_NAME}")
+ set (XDG_AUTOSTART_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${XDG_AUTOSTART_NAME}.in")
-# build it
-configure_file ("${XDG_AUTOSTART_FILE_IN}" "${XDG_AUTOSTART_FILE}")
+ # build it
+ configure_file ("${XDG_AUTOSTART_FILE_IN}" "${XDG_AUTOSTART_FILE}")
-# install XDG autostart
-install (FILES "${XDG_AUTOSTART_FILE}"
- DESTINATION "${XDG_AUTOSTART_DIR}")
+ # install XDG autostart
+ install (FILES "${XDG_AUTOSTART_FILE}"
+ DESTINATION "${XDG_AUTOSTART_DIR}")
+endif()
##
## Ayatana Indicator File
diff --git a/data/ayatana-indicator-datetime.service.in b/data/ayatana-indicator-datetime.service.in
index d0c1941..6b7803b 100644
--- a/data/ayatana-indicator-datetime.service.in
+++ b/data/ayatana-indicator-datetime.service.in
@@ -1,11 +1,11 @@
[Unit]
Description=Ayatana Indicator DateTime Service
PartOf=graphical-session.target
-PartOf=ayatana-indicators.target lomiri-indicators.target
+PartOf=ayatana-indicators.target
[Service]
ExecStart=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ayatana-indicator-datetime/ayatana-indicator-datetime-service
Restart=on-failure
[Install]
-WantedBy=ayatana-indicators.target lomiri-indicators.target
+WantedBy=ayatana-indicators.target
diff --git a/data/lomiri-indicator-datetime.service.in b/data/lomiri-indicator-datetime.service.in
new file mode 100644
index 0000000..517ca14
--- /dev/null
+++ b/data/lomiri-indicator-datetime.service.in
@@ -0,0 +1,11 @@
+[Unit]
+Description=Lomiri Indicator DateTime Service
+PartOf=graphical-session.target
+PartOf=lomiri-indicators.target
+
+[Service]
+ExecStart=@CMAKE_INSTALL_FULL_LIBEXECDIR@/lomiri-indicator-datetime/lomiri-indicator-datetime-service
+Restart=on-failure
+
+[Install]
+WantedBy=lomiri-indicators.target
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e13a4f1..2bc4452 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,7 +1,13 @@
set (SERVICE_LIB "indicatordatetimeservice")
-set (SERVICE_EXEC "ayatana-indicator-datetime-service")
-add_definitions (-DG_LOG_DOMAIN="ayatana-indicator-datetime")
+if (ENABLE_LOMIRI_FEATURES)
+ set (INDICATOR_VARIANT_NAME "lomiri-indicator-datetime")
+else ()
+ set (INDICATOR_VARIANT_NAME "${CMAKE_PROJECT_NAME}")
+endif ()
+
+add_definitions (-DG_LOG_DOMAIN="${INDICATOR_VARIANT_NAME}")
+set (SERVICE_EXEC "${INDICATOR_VARIANT_NAME}-service")
# handwritten sources
set (SERVICE_C_SOURCES
@@ -82,4 +88,4 @@ endif ()
add_executable (${SERVICE_EXEC} main.cpp)
target_link_libraries (${SERVICE_EXEC} ${SERVICE_LIB} ${SERVICE_DEPS_LIBRARIES})
-install (TARGETS ${SERVICE_EXEC} RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/${CMAKE_PROJECT_NAME}")
+install (TARGETS ${SERVICE_EXEC} RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/${INDICATOR_VARIANT_NAME}")