You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/utils/kamcmd/CMakeLists.txt

67 lines
1.9 KiB

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
)