# В этом файле описаны действия для добавления logrotate файла. # Данный файл уникальный для каждого демона и лежит в /etc/logrotate.d/ # Данный файл нужно включать в CMakeLists.txt в каталоге каждого конкретного демона. # Пример использования: # INCLUDE( ${PROJECT_SOURCE_DIR}/tools/logrotate/CMakeLists.logrotate ) # CREATE_LOGROTATE(divider Divider) # Будет создан logrotate файл с названием divider.logrt для демона (бинарника) Divider # NB Тут _не_ используется add_custom_command. по аналогии с init.d скриптом - это делается только потому, что # если её использовать, то у cmake сносит крышу, и она начинает путать цели и файлы. macro (CREATE_LOGROTATE logrotatename daemonname) add_custom_target(${logrotatename}-logrotate.target ALL COMMAND sed -e 's,[@]DAEMON[@],${daemonname},g' < ${PROJECT_SOURCE_DIR}/tools/logrotate/template > ${CMAKE_CURRENT_BINARY_DIR}/${logrotatename}.logrt COMMAND chmod a+r ${CMAKE_CURRENT_BINARY_DIR}/${logrotatename}.logrt COMMENT "Building ${logrotatename}.logrt" ) INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${logrotatename}.logrt DESTINATION /etc/logrotate.d PERMISSIONS OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ ) endmacro (CREATE_LOGROTATE)