ranczo-io/services/temperature_svc/CMakeLists.txt
2025-11-26 07:06:36 +01:00

64 lines
2.0 KiB
CMake

add_executable(ranczo-io_temperature
main.cpp
ds18b20_sensor.cpp ds18b20_sensor.hpp
measurement_publisher.cpp measurement_publisher.hpp
ranczo-io_temperature.service.in
postinst
prerm
postrm
)
target_link_libraries(ranczo-io_temperature
PUBLIC
uring
)
target_link_libraries(ranczo-io_temperature
PUBLIC
ranczo-io::utils
)
install(
TARGETS ranczo-io_temperature
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT temperature
)
# Opis komponentu temperature
set(CPACK_COMPONENT_TEMPERATURE_DISPLAY_NAME "Ranczo-IO Temperature Service")
set(CPACK_COMPONENT_TEMPERATURE_DESCRIPTION "Serwis odczytujący temperaturę z czujników")
set(CPACK_COMPONENT_TEMPERATURE_REQUIRED ON)
# Nazwa samego pakietu DEB dla komponentu
set(CPACK_DEBIAN_TEMPERATURE_PACKAGE_NAME "ranczo-io-temperature" CACHE INTERNAL "package name")
set(CPACK_DEBIAN_TEMPERATURE_PACKAGE_SECTION "utils" CACHE INTERNAL "package section")
set(CPACK_DEBIAN_TEMPERATURE_PACKAGE_MAINTAINER "b.wieczorek@dx.net.pl" CACHE INTERNAL "package maintainer")
set(CPACK_DEBIAN_TEMPERATURE_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/postinst"
"${CMAKE_CURRENT_SOURCE_DIR}/prerm"
"${CMAKE_CURRENT_SOURCE_DIR}/postrm"
CACHE INTERNAL "package extra"
)
set(CPACK_DEBIAN_TEMPERATURE_PACKAGE_DEPENDS "libsqlite3-0, liburing2, systemd (>= 245)" CACHE INTERNAL "package depends")
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/ranczo-io_temperature.service.in
${CMAKE_CURRENT_BINARY_DIR}/ranczo-io_temperature.service
@ONLY
)
# Instalacja unita systemd
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/ranczo-io_temperature.service
DESTINATION ${SYSTEMD_UNIT_DIR}
COMPONENT temperature
)
# tworzenie katalogów
install(DIRECTORY
DESTINATION var/lib/ranczo-io/temperature
COMPONENT temperature
)