ceph-mirror/systemd/CMakeLists.txt
Henry Hirsch dfe79180a7 ceph-exporter: fix systemd unit
change systemd unit into templated unit, that the %i which is used
inside the unit is working

Signed-off-by: Henry Hirsch <henry.hirsch@1und1.de>
2026-03-25 16:59:06 +08:00

50 lines
1.3 KiB
CMake

find_package(PkgConfig QUIET REQUIRED)
pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR "systemd" "systemd_system_unit_dir")
if(NOT SYSTEMD_SYSTEM_UNIT_DIR)
pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR "systemd" "systemdsystemunitdir")
if(NOT SYSTEMD_SYSTEM_UNIT_DIR)
set(SYSTEMD_SYSTEM_UNIT_DIR "${CMAKE_INSTALL_LIBDIR}/systemd/system")
endif()
endif()
set(SYSTEMD_SYSTEM_UNIT_DIR "${SYSTEMD_SYSTEM_UNIT_DIR}"
CACHE PATH "Location for systemd system unit files")
set(CEPH_SYSTEMD_ENV_DIR "/etc/sysconfig"
CACHE PATH "Location for systemd service environmental variable settings files")
set(SYSTEMD_ENV_FILE "${CEPH_SYSTEMD_ENV_DIR}/ceph")
foreach(service
ceph-crash
ceph-exporter@
ceph-fuse@
ceph-mds@
ceph-mgr@
ceph-mon@
ceph-osd@
ceph-radosgw@
ceph-rbd-mirror@
ceph-volume@
ceph-immutable-object-cache@
cephfs-mirror@
rbdmap)
configure_file(
${service}.service.in
${service}.service
@ONLY)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/${service}.service
DESTINATION ${SYSTEMD_SYSTEM_UNIT_DIR})
endforeach()
install(FILES
ceph.target
ceph-fuse.target
ceph-osd.target
ceph-mgr.target
ceph-mon.target
ceph-mds.target
ceph-radosgw.target
ceph-rbd-mirror.target
ceph-immutable-object-cache.target
cephfs-mirror.target
DESTINATION ${SYSTEMD_SYSTEM_UNIT_DIR})