set(KAMCMD_RELEASE 1.6) set(KAMCMD_UTIL_SRC_NAME "kamcmd") set(KAMCMD_CUSTOM_NAME "" CACHE STRING "Custom name for the kamcmd util" ) if(NOT KAMCMD_CUSTOM_NAME) set(NAME "kamcmd") # Hardcoded name if empty else() set(NAME "${KAMCMD_CUSTOM_NAME}") endif() add_executable(${NAME}) # detect libreadline find_package(PkgConfig REQUIRED) pkg_check_modules(READLINE IMPORTED_TARGET readline) if(READLINE_FOUND) add_library(readline::readline ALIAS PkgConfig::READLINE) target_compile_definitions(${NAME} PRIVATE USE_READLINE) target_link_libraries(${NAME} PRIVATE readline::readline) endif() include(${CMAKE_SOURCE_DIR}/cmake/utils.cmake) target_sources( ${NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/kamcmd.c ${CMAKE_CURRENT_SOURCE_DIR}/parse_listen_id.c ) target_link_libraries(${NAME} PRIVATE common_utils) target_compile_definitions( ${NAME} PRIVATE NAME="${NAME}" SRNAME="${MAIN_NAME}" VERSION="${KAMCMD_RELEASE}" RUN_DIR="/${CMAKE_INSTALL_LOCALSTATEDIR}/run/${MAIN_NAME}" __OS_${OS_LOWER} ) install( TARGETS ${NAME} DESTINATION ${CMAKE_INSTALL_SBINDIR} COMPONENT kamailio-core ) # Man page generation add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kamcmd.8 COMMAND sed -e "s#/etc/${CFG_NAME}/${CFG_NAME}\.cfg#${CMAKE_INSTALL_FULL_SYSCONFDIR}/${MAIN_NAME}/${MAIN_NAME}.cfg#g" -e "s#/usr/sbin/#${CMAKE_INSTALL_FULL_SBINDIR}/#g" -e "s#/usr/lib/${CFG_NAME}/modules/#${CMAKE_INSTALL_FULL_LIBDIR}/${MAIN_NAME}/#g" -e "s#/usr/share/doc/${CFG_NAME}/#${CMAKE_INSTALL_FULL_DOCDIR}/#g" < ${CMAKE_CURRENT_SOURCE_DIR}/kamcmd.8 > ${CMAKE_CURRENT_BINARY_DIR}/kamcmd.8 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kamcmd.8 ) add_custom_target(kamcmd_man DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/kamcmd.8) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kamcmd.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8 COMPONENT kamailio-core OPTIONAL )