ranczo-io/services/energymeter_svc/CMakeLists.txt
2025-11-28 09:18:05 +01:00

64 lines
2.0 KiB
CMake

add_executable(ranczo-io_energymeter
main.cpp
energymeter.hpp
ORNO_517.hpp ORNO_517.cpp
pstryk.hpp pstryk.cpp
ranczo-io_energymeter.service.in
postinst
prerm
postrm
)
target_link_libraries(ranczo-io_energymeter
PUBLIC
ranczo-io::utils
fmt::fmt
)
install(
TARGETS ranczo-io_energymeter
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT energymeter
)
# Opis komponentu energymeter
set(CPACK_COMPONENT_ENERGYMETER_DISPLAY_NAME "Ranczo-IO Energy Reading Service" CACHE INTERNAL "package section")
set(CPACK_COMPONENT_ENERGYMETER_DESCRIPTION "Serwis odczytujący aktualne zużycie energii." CACHE INTERNAL "package section")
set(CPACK_COMPONENT_ENERGYMETER_REQUIRED ON CACHE INTERNAL "package section")
# Nazwa samego pakietu DEB dla komponentu
set(CPACK_DEBIAN_ENERGYMETER_PACKAGE_NAME "ranczo-io-energymeter" CACHE INTERNAL "package name")
set(CPACK_DEBIAN_ENERGYMETER_PACKAGE_SECTION "utils" CACHE INTERNAL "package section")
set(CPACK_DEBIAN_ENERGYMETER_PACKAGE_MAINTAINER "b.wieczorek@dx.net.pl" CACHE INTERNAL "package maintainer")
set(CPACK_DEBIAN_ENERGYMETER_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_ENERGYMETER_PACKAGE_DEPENDS "libsqlite3-0, systemd (>= 245)" CACHE INTERNAL "package depends")
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/ranczo-io_energymeter.service.in
${CMAKE_CURRENT_BINARY_DIR}/ranczo-io_energymeter.service
@ONLY
)
# Instalacja unita systemd
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/ranczo-io_energymeter.service
DESTINATION ${SYSTEMD_UNIT_DIR}
COMPONENT energymeter
)
# tworzenie katalogów
install(DIRECTORY
DESTINATION /var/lib/ranczo-io/energymeter
COMPONENT energymeter
)