mirror of
https://github.com/kamailio/kamailio
synced 2026-08-07 16:32:08 -04:00
cmake: Fix formatting according to cmake-format config file.
This commit is contained in:
parent
b102e3f38a
commit
7c58b8a7fc
43 changed files with 483 additions and 547 deletions
|
|
@ -7,7 +7,8 @@ project(
|
|||
kamailio
|
||||
VERSION 6.1.0
|
||||
DESCRIPTION "Kamailio SIP Server"
|
||||
HOMEPAGE_URL "https://www.kamailio.org")
|
||||
HOMEPAGE_URL "https://www.kamailio.org"
|
||||
)
|
||||
|
||||
# Set the version number
|
||||
set(EXTRAVERSION "-dev0")
|
||||
|
|
@ -41,12 +42,14 @@ include(${CMAKE_SOURCE_DIR}/cmake/BuildType.cmake)
|
|||
# main binary name
|
||||
set(MAIN_NAME
|
||||
"kamailio"
|
||||
CACHE STRING "Main binary name")
|
||||
CACHE STRING "Main binary name"
|
||||
)
|
||||
|
||||
# use kamailio config
|
||||
set(CFG_NAME
|
||||
"kamailio"
|
||||
CACHE STRING "Config name")
|
||||
CACHE STRING "Config name"
|
||||
)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(${CMAKE_SOURCE_DIR}/cmake/defs.cmake)
|
||||
|
|
@ -71,11 +74,12 @@ include(CPack)
|
|||
if(NOT TARGET uninstall)
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake-uninstall.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake-uninstall.cmake" IMMEDIATE @ONLY)
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake-uninstall.cmake" IMMEDIATE @ONLY
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
uninstall
|
||||
COMMAND ${CMAKE_COMMAND} -P
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake-uninstall.cmake
|
||||
COMMENT "Uninstalling")
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake-uninstall.cmake
|
||||
COMMENT "Uninstalling"
|
||||
)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -5,17 +5,13 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
|||
endif()
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
message(
|
||||
STATUS
|
||||
"Setting build type to '${default_build_type}' as none was specified."
|
||||
)
|
||||
message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
|
||||
set(CMAKE_BUILD_TYPE
|
||||
"${default_build_type}"
|
||||
CACHE STRING "Choose the type of build." FORCE
|
||||
)
|
||||
# Set the possible values of build type for cmake-gui
|
||||
set_property(
|
||||
CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel"
|
||||
"RelWithDebInfo"
|
||||
CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo"
|
||||
)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -14,16 +14,16 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64")
|
|||
target_compile_definitions(common_compiler_flags INTERFACE CC_GCC_LIKE_ASM)
|
||||
|
||||
target_compile_options(
|
||||
common_compiler_flags
|
||||
INTERFACE -Wall -funroll-loops -Wcast-align
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int)
|
||||
common_compiler_flags INTERFACE -Wall -funroll-loops -Wcast-align
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int
|
||||
)
|
||||
|
||||
# If GCC version is greater than 4.2.0, enable the following flags
|
||||
if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.2.0)
|
||||
target_compile_options(
|
||||
common_compiler_flags
|
||||
INTERFACE -m64 -minline-all-stringops -falign-loops -ftree-vectorize
|
||||
-fno-strict-overflow -mtune=generic)
|
||||
common_compiler_flags INTERFACE -m64 -minline-all-stringops -falign-loops -ftree-vectorize
|
||||
-fno-strict-overflow -mtune=generic
|
||||
)
|
||||
target_link_options(common_compiler_flags INTERFACE -m64)
|
||||
endif()
|
||||
elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||
|
|
@ -38,16 +38,16 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i486|i586|i686")
|
|||
target_compile_definitions(common_compiler_flags INTERFACE CC_GCC_LIKE_ASM)
|
||||
|
||||
target_compile_options(
|
||||
common_compiler_flags
|
||||
INTERFACE -Wall -funroll-loops -Wcast-align
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int)
|
||||
common_compiler_flags INTERFACE -Wall -funroll-loops -Wcast-align
|
||||
-Werror=implicit-function-declaration -Werror=implicit-int
|
||||
)
|
||||
|
||||
# If GCC version is greater than 4.2.0, enable the following flags
|
||||
if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.2.0)
|
||||
target_compile_options(
|
||||
common_compiler_flags
|
||||
INTERFACE -m32 -minline-all-stringops -falign-loops -ftree-vectorize
|
||||
-fno-strict-overflow -mtune=generic)
|
||||
common_compiler_flags INTERFACE -m32 -minline-all-stringops -falign-loops -ftree-vectorize
|
||||
-fno-strict-overflow -mtune=generic
|
||||
)
|
||||
endif()
|
||||
elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||
target_compile_definitions(common_compiler_flags INTERFACE CC_GCC_LIKE_ASM)
|
||||
|
|
|
|||
|
|
@ -43,7 +43,8 @@ message(STATUS "Target Processor Alias: ${TARGET_ARCH}")
|
|||
set(flavours kamailio)
|
||||
set(FLAVOUR
|
||||
"kamailio"
|
||||
CACHE STRING "Flavour of the project")
|
||||
CACHE STRING "Flavour of the project"
|
||||
)
|
||||
set_property(CACHE FLAVOUR PROPERTY STRINGS ${flavours})
|
||||
|
||||
# Verbose option (for debugging purposes) (was quiet in Makefile.defs) Probably
|
||||
|
|
@ -113,13 +114,10 @@ endif()
|
|||
|
||||
set(LIBSSL_SET_MUTEX_SHARED
|
||||
ON
|
||||
CACHE BOOL
|
||||
"enable workaround for libssl 1.1+ to set shared mutex attribute")
|
||||
CACHE BOOL "enable workaround for libssl 1.1+ to set shared mutex attribute"
|
||||
)
|
||||
if(NOT ${LIBSSL_SET_MUTEX_SHARED})
|
||||
message(
|
||||
STATUS
|
||||
"Checking if can enable workaround for libssl 1.1+ to set shared mutex attribute"
|
||||
)
|
||||
message(STATUS "Checking if can enable workaround for libssl 1.1+ to set shared mutex attribute")
|
||||
|
||||
# TODO: This can probably be reduced to a just a find_package(OpenSSL) call
|
||||
# and then check the version
|
||||
|
|
@ -131,9 +129,7 @@ if(NOT ${LIBSSL_SET_MUTEX_SHARED})
|
|||
if(OPENSSL_FOUND)
|
||||
message(STATUS "OpenSSL version: ${OPENSSL_VERSION}")
|
||||
if(${OPENSSL_VERSION} VERSION_GREATER_EQUAL "1.1.0")
|
||||
message(
|
||||
STATUS
|
||||
"Enabling workaround for libssl 1.1+ to set shared mutex attribute")
|
||||
message(STATUS "Enabling workaround for libssl 1.1+ to set shared mutex attribute")
|
||||
set(LIBSSL_SET_MUTEX_SHARED ON)
|
||||
endif()
|
||||
endif()
|
||||
|
|
@ -163,7 +159,8 @@ option(USE_FAST_LOCK "Use fast locking if available" ON)
|
|||
# Check the system processor type and set USE_FAST_LOCK accordingly
|
||||
if(USE_FAST_LOCK)
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES
|
||||
"i386|i486|i586|i686|x86_64|amd64|sparc64|sparc|ppc|ppc64|alpha|mips2|mips64")
|
||||
"i386|i486|i586|i686|x86_64|amd64|sparc64|sparc|ppc|ppc64|alpha|mips2|mips64"
|
||||
)
|
||||
set(USE_FAST_LOCK YES)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
|
||||
set(USE_FAST_LOCK NO)
|
||||
|
|
@ -178,9 +175,7 @@ if(USE_FAST_LOCK)
|
|||
target_compile_definitions(common INTERFACE MIPS_HAS_LLSC) # likely
|
||||
target_compile_definitions(common INTERFACE NOSMP) # very likely
|
||||
elseif()
|
||||
message(
|
||||
STATUS
|
||||
"Fast locking not available for this platform, disabling USE_FAST_LOCK")
|
||||
message(STATUS "Fast locking not available for this platform, disabling USE_FAST_LOCK")
|
||||
set(USE_FAST_LOCK NO)
|
||||
endif()
|
||||
endif()
|
||||
|
|
@ -190,8 +185,7 @@ message(STATUS "Fast lock available: ${USE_FAST_LOCK}")
|
|||
if(USE_FAST_LOCK)
|
||||
# If fast lock is available, add the definitions for it, else each OS will
|
||||
# have its own locking method
|
||||
target_compile_definitions(common INTERFACE FAST_LOCK ADAPTIVE_WAIT
|
||||
ADAPTIVE_WAIT_LOOPS=1024)
|
||||
target_compile_definitions(common INTERFACE FAST_LOCK ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024)
|
||||
endif()
|
||||
|
||||
# set(LOCKING_DEFINITION "${locking_method}")
|
||||
|
|
@ -342,7 +336,8 @@ target_compile_definitions(
|
|||
# TODO: We can use the generator expression to define extra flags
|
||||
# instead of checking the options each time
|
||||
$<$<BOOL:${USE_SCTP}>:USE_SCTP>
|
||||
$<$<BOOL:${STATISTICS}>:STATISTICS>)
|
||||
$<$<BOOL:${STATISTICS}>:STATISTICS>
|
||||
)
|
||||
target_link_libraries(common INTERFACE common_compiler_flags)
|
||||
|
||||
# ----------------------
|
||||
|
|
|
|||
|
|
@ -60,7 +60,8 @@ set(MOD_LIST_BASIC
|
|||
topos_htable
|
||||
sipdump
|
||||
pv_headers
|
||||
kemix)
|
||||
kemix
|
||||
)
|
||||
|
||||
# * extra used modules, with no extra dependency
|
||||
set(MOD_LIST_EXTRA
|
||||
|
|
@ -102,7 +103,8 @@ set(MOD_LIST_EXTRA
|
|||
xhttp_prom
|
||||
dlgs
|
||||
sworker
|
||||
influxdbc)
|
||||
influxdbc
|
||||
)
|
||||
|
||||
# * common modules depending on database
|
||||
set(MOD_LIST_DB
|
||||
|
|
@ -139,11 +141,11 @@ set(MOD_LIST_DB
|
|||
uri_db
|
||||
userblocklist
|
||||
usrloc
|
||||
secfilter)
|
||||
secfilter
|
||||
)
|
||||
|
||||
# * common modules depending on database, using UID db schema
|
||||
set(MOD_LIST_DBUID db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags
|
||||
uid_uri_db)
|
||||
set(MOD_LIST_DBUID db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags uid_uri_db)
|
||||
|
||||
# * modules for devel purposes
|
||||
set(MOD_LIST_DEVEL misctest)
|
||||
|
|
@ -233,7 +235,8 @@ set(MOD_LIST_PRESENCE
|
|||
pua_xmpp
|
||||
rls
|
||||
xcap_client
|
||||
xcap_server)
|
||||
xcap_server
|
||||
)
|
||||
|
||||
# * modules depending on lua library
|
||||
set(MOD_LIST_LUA app_lua)
|
||||
|
|
@ -296,7 +299,8 @@ set(MOD_LIST_IMS
|
|||
ims_charging
|
||||
ims_ocs
|
||||
ims_diameter_server
|
||||
ims_ipsec_pcscf)
|
||||
ims_ipsec_pcscf
|
||||
)
|
||||
|
||||
# * modules depending on java library
|
||||
set(MOD_LIST_JAVA app_java)
|
||||
|
|
@ -439,7 +443,8 @@ set(MOD_LIST_ALL
|
|||
${MOD_LIST_MICROHTTPD}
|
||||
${MOD_LIST_NGHTTP2}
|
||||
${MOD_LIST_GCRYPT}
|
||||
${MOD_LIST_RTP_MEDIA_SERVER})
|
||||
${MOD_LIST_RTP_MEDIA_SERVER}
|
||||
)
|
||||
|
||||
# sort the list
|
||||
list(SORT MOD_LIST_ALL)
|
||||
|
|
@ -453,15 +458,15 @@ list(SORT MOD_LIST_ALL)
|
|||
# compile or link dependencies
|
||||
set(MODULE_GROUP_ALL ${MOD_LIST_ALL})
|
||||
|
||||
set(MODULE_GROUP_DEFAULT ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB}
|
||||
${MOD_LIST_DBUID} ${MOD_LIST_DEVEL} ${MOD_LIST_JSDT})
|
||||
set(MODULE_GROUP_DEFAULT ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB} ${MOD_LIST_DBUID}
|
||||
${MOD_LIST_DEVEL} ${MOD_LIST_JSDT}
|
||||
)
|
||||
|
||||
# Modules in this group are the default compiled modules due to no
|
||||
# internal/external compile or link dependencies
|
||||
# module_group_standard=$(mod_list_basic) $(mod_list_extra) \ $(mod_list_devel)
|
||||
# $(mod_list_jsdt)
|
||||
set(MODULE_GROUP_STANDARD ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DEVEL}
|
||||
${MOD_LIST_JSDT})
|
||||
set(MODULE_GROUP_STANDARD ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DEVEL} ${MOD_LIST_JSDT})
|
||||
|
||||
# Modules in this group are considered a standard part due to widespread usage,
|
||||
# but they have dependencies that must be satisfied for compilation (e.g., lcr,
|
||||
|
|
@ -475,7 +480,8 @@ set(MODULE_GROUP_COMMON
|
|||
${MOD_LIST_RADIUS}
|
||||
${MOD_LIST_XMLDEPS}
|
||||
${MOD_LIST_PRESENCE}
|
||||
${MOD_LIST_TLSDEPS})
|
||||
${MOD_LIST_TLSDEPS}
|
||||
)
|
||||
|
||||
# For db use (db modules, excluding drivers) module_group_db=$(mod_list_db)
|
||||
set(MODULE_GROUP_DB ${MOD_LIST_DB})
|
||||
|
|
@ -513,12 +519,14 @@ set(AVAILABLE_GROUPS ALL DEFAULT STANDARD COMMON)
|
|||
|
||||
# --- Groups defined for pacKaging ###
|
||||
# Standard modules in main pkg
|
||||
set(MODULE_GROUP_KSTANDARD ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB}
|
||||
${MOD_LIST_DBUID} ${MOD_LIST_PCRE} ${MOD_LIST_JSDT})
|
||||
set(MODULE_GROUP_KSTANDARD ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB} ${MOD_LIST_DBUID}
|
||||
${MOD_LIST_PCRE} ${MOD_LIST_JSDT}
|
||||
)
|
||||
|
||||
# Standard modules without any dependencies (such as pcre)
|
||||
set(MODULE_GROUP_KMINI ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB}
|
||||
${MOD_LIST_DBUID} ${MOD_LIST_JSDT})
|
||||
set(MODULE_GROUP_KMINI ${MOD_LIST_BASIC} ${MOD_LIST_EXTRA} ${MOD_LIST_DB} ${MOD_LIST_DBUID}
|
||||
${MOD_LIST_JSDT}
|
||||
)
|
||||
# pkg pcre module
|
||||
set(MODULE_GROUP_KPCRE ${MOD_LIST_PCRE})
|
||||
|
||||
|
|
@ -775,7 +783,8 @@ list(
|
|||
KNGHTTP2
|
||||
KGCRYPT
|
||||
KSECSIPID
|
||||
KRT_MEDIA_SERVER)
|
||||
KRT_MEDIA_SERVER
|
||||
)
|
||||
|
||||
# # Option to allow the user to define which group to build
|
||||
# set(SELECTED_PACKAGE_GROUP
|
||||
|
|
|
|||
|
|
@ -16,28 +16,32 @@ if(BUILD_DOC AND (NOT DOCBOOK2X_EXECUTABLE))
|
|||
endif()
|
||||
|
||||
option(DOCS_XSL_VAIDATION "Docbook document validation" OFF)
|
||||
option(DOCS_NOCATALOG
|
||||
"ON: Use standard catalog from OS | OFF: Use custom catalog " OFF)
|
||||
option(DOCS_NOCATALOG "ON: Use standard catalog from OS | OFF: Use custom catalog " OFF)
|
||||
|
||||
set(DOCS_SOURCES
|
||||
"index.html"
|
||||
CACHE STRING "Documentation files list")
|
||||
CACHE STRING "Documentation files list"
|
||||
)
|
||||
|
||||
set(DOCS_README
|
||||
${DOCS_SOURCES}
|
||||
CACHE STRING "Readme Documentation files list")
|
||||
CACHE STRING "Readme Documentation files list"
|
||||
)
|
||||
|
||||
set(DOCS_HTML
|
||||
${DOCS_SOURCES}
|
||||
CACHE STRING "HTML Documentation files list")
|
||||
CACHE STRING "HTML Documentation files list"
|
||||
)
|
||||
|
||||
set(DOCS_TXT
|
||||
${DOCS_SOURCES}
|
||||
CACHE STRING "TXT Documentation files list")
|
||||
CACHE STRING "TXT Documentation files list"
|
||||
)
|
||||
|
||||
set(DOCS_OUTPUT_DIR
|
||||
${CMAKE_BINARY_DIR}/doc/docbook
|
||||
CACHE STRING "Path to build HTML docs")
|
||||
CACHE STRING "Path to build HTML docs"
|
||||
)
|
||||
|
||||
set(DOCBOOK_DIR ${CMAKE_SOURCE_DIR}/doc/docbook)
|
||||
set(STYLESHEET_DIR ${CMAKE_SOURCE_DIR}/doc/stylesheets)
|
||||
|
|
@ -49,7 +53,8 @@ set(README_XSL ${DOCBOOK_DIR}/readme.xsl)
|
|||
|
||||
set(DOCS_HTML_CSS
|
||||
"/css/sr-doc.css"
|
||||
CACHE STRING "Path to the CSS file")
|
||||
CACHE STRING "Path to the CSS file"
|
||||
)
|
||||
|
||||
set(CATALOG ${DOCBOOK_DIR}/catalog.xml)
|
||||
|
||||
|
|
@ -62,11 +67,13 @@ endif()
|
|||
# Set flags for xtproc for generating documentation and allow user defined
|
||||
set(DOCS_XSLTPROC_FLAGS
|
||||
""
|
||||
CACHE STRING "Xsltransform processor flags")
|
||||
CACHE STRING "Xsltransform processor flags"
|
||||
)
|
||||
if(NOT DOCS_XSL_VAIDATION)
|
||||
if(VERBOSE)
|
||||
message(STATUS "DOCS_XSL_VAIDATION=OFF"
|
||||
"Disabling xsl validation when generating documentation")
|
||||
"Disabling xsl validation when generating documentation"
|
||||
)
|
||||
endif()
|
||||
list(APPEND DOCS_XSLTPROC_FLAGS --novalid)
|
||||
endif()
|
||||
|
|
@ -74,7 +81,8 @@ endif()
|
|||
# Set lynx flags for generating readmes and allow user defined
|
||||
set(DOCS_LYNX_FLAGS
|
||||
"-nolist"
|
||||
CACHE STRING "Lynx readme generator flags")
|
||||
CACHE STRING "Lynx readme generator flags"
|
||||
)
|
||||
|
||||
# Function to add a module docs entry
|
||||
function(docs_add_module module_name)
|
||||
|
|
@ -85,31 +93,31 @@ function(docs_add_module module_name)
|
|||
add_custom_target(
|
||||
${module_name}_doc_text
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${module_name}/${module_name}.txt
|
||||
COMMENT "Processing target ${module_name}_doc_text")
|
||||
COMMENT "Processing target ${module_name}_doc_text"
|
||||
)
|
||||
|
||||
# This is essentialy an alias of doc_text target but with extra copy command
|
||||
# to copy the text file to the source tree directory.
|
||||
add_custom_target(${module_name}_readme
|
||||
COMMENT "Processing target ${module_name}_readme")
|
||||
add_custom_target(${module_name}_readme COMMENT "Processing target ${module_name}_readme")
|
||||
add_dependencies(${module_name}_readme ${module_name}_doc_text)
|
||||
add_dependencies(kamailio_docs_readme ${module_name}_readme)
|
||||
|
||||
add_custom_target(
|
||||
${module_name}_doc_html
|
||||
DEPENDS ${DOCS_OUTPUT_DIR}/${module_name}.html
|
||||
COMMENT "Processing target ${module_name}_doc_html")
|
||||
COMMENT "Processing target ${module_name}_doc_html"
|
||||
)
|
||||
|
||||
add_custom_target(${module_name}_doc
|
||||
COMMENT "Processing target ${module_name}_doc")
|
||||
add_dependencies(${module_name}_doc ${module_name}_doc_text
|
||||
${module_name}_doc_html)
|
||||
add_custom_target(${module_name}_doc COMMENT "Processing target ${module_name}_doc")
|
||||
add_dependencies(${module_name}_doc ${module_name}_doc_text ${module_name}_doc_html)
|
||||
|
||||
# Man docs only if author of module provided xml for man.
|
||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/${module_name}.xml)
|
||||
add_custom_target(
|
||||
${module_name}_man
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/${module_name}.xml
|
||||
COMMENT "Processing target ${module_name}_man")
|
||||
COMMENT "Processing target ${module_name}_man"
|
||||
)
|
||||
add_dependencies(kamailio_docs_man ${module_name}_man)
|
||||
endif()
|
||||
|
||||
|
|
@ -121,16 +129,14 @@ function(docs_add_module module_name)
|
|||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${module_name}/${module_name}.txt
|
||||
COMMAND
|
||||
# TXT version - just plain text
|
||||
${XMLCATATLOGX} ${XSLTPROC_EXECUTABLE} ${DOCS_XSLTPROC_FLAGS}
|
||||
--xinclude ${TXT_XSL} ${module_name}.xml | ${LYNX_EXECUTABLE}
|
||||
${DOCS_LYNX_FLAGS} -stdin -dump >
|
||||
${XMLCATATLOGX} ${XSLTPROC_EXECUTABLE} ${DOCS_XSLTPROC_FLAGS} --xinclude ${TXT_XSL}
|
||||
${module_name}.xml | ${LYNX_EXECUTABLE} ${DOCS_LYNX_FLAGS} -stdin -dump >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${module_name}/${module_name}.txt
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/doc/${module_name}.xml
|
||||
${TXT_XSL}
|
||||
# ${SINGLE_HTML_XSL}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/doc/${module_name}.xml ${TXT_XSL}
|
||||
# ${SINGLE_HTML_XSL}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/doc
|
||||
COMMENT "Generating text documentation with for ${module_name}")
|
||||
COMMENT "Generating text documentation with for ${module_name}"
|
||||
)
|
||||
|
||||
# Add custom command to copy the README file after the readme target is
|
||||
# built. The readme target depends on doc_text so it will regenerate if
|
||||
|
|
@ -139,47 +145,47 @@ function(docs_add_module module_name)
|
|||
TARGET ${module_name}_readme
|
||||
POST_BUILD
|
||||
COMMAND
|
||||
${CMAKE_COMMAND} -E copy
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${module_name}/${module_name}.txt
|
||||
${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${module_name}/${module_name}.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/README
|
||||
COMMENT "Copying README file to source tree for ${module_name}")
|
||||
COMMENT "Copying README file to source tree for ${module_name}"
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOCS_OUTPUT_DIR}/${module_name}.html
|
||||
COMMAND
|
||||
# HTML version
|
||||
${XMLCATATLOGX} ${XSLTPROC_EXECUTABLE} ${DOCS_XSLTPROC_FLAGS}
|
||||
--xinclude --stringparam base.dir ${DOCS_OUTPUT_DIR} --stringparam
|
||||
root.filename ${module_name} --stringparam html.stylesheet
|
||||
${DOCS_HTML_CSS} --stringparam html.ext ".html" ${SINGLE_HTML_XSL}
|
||||
${XMLCATATLOGX} ${XSLTPROC_EXECUTABLE} ${DOCS_XSLTPROC_FLAGS} --xinclude --stringparam
|
||||
base.dir ${DOCS_OUTPUT_DIR} --stringparam root.filename ${module_name} --stringparam
|
||||
html.stylesheet ${DOCS_HTML_CSS} --stringparam html.ext ".html" ${SINGLE_HTML_XSL}
|
||||
${module_name}.xml
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/doc/${module_name}.xml
|
||||
${SINGLE_HTML_XSL}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/doc/${module_name}.xml ${SINGLE_HTML_XSL}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/doc
|
||||
COMMENT "Generating html documentation for ${module_name}")
|
||||
COMMENT "Generating html documentation for ${module_name}"
|
||||
)
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
# man version
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${module_name}/${module_name}.7
|
||||
COMMAND ${DOCBOOK2X_EXECUTABLE} -s ${STYLESHEET_DIR}/serdoc2man.xsl
|
||||
${module_name}.xml
|
||||
COMMAND ${DOCBOOK2X_EXECUTABLE} -s ${STYLESHEET_DIR}/serdoc2man.xsl ${module_name}.xml
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/doc/${module_name}.xml
|
||||
${STYLESHEET_DIR}/serdoc2man.xsl
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}
|
||||
COMMENT "Processing target ${module_name}_man")
|
||||
COMMENT "Processing target ${module_name}_man"
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/README
|
||||
RENAME README.${module_name}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}/modules
|
||||
COMPONENT kamailio_docs)
|
||||
COMPONENT kamailio_docs
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/${module_name}.7
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/man/man7
|
||||
COMPONENT kamailio_docs
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
endif()
|
||||
endfunction()
|
||||
|
|
|
|||
|
|
@ -38,7 +38,8 @@ if(CMAKE_HOST_APPLE)
|
|||
execute_process(
|
||||
COMMAND ${HOMEBREW_EXECUTABLE} --prefix berkeley-db@5.3
|
||||
OUTPUT_VARIABLE _BerkeleyDB_homebrew_prefix
|
||||
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
@ -55,7 +56,8 @@ find_path(
|
|||
5.3
|
||||
db5.3
|
||||
5
|
||||
db5)
|
||||
db5
|
||||
)
|
||||
mark_as_advanced(BerkeleyDB_INCLUDE_DIR)
|
||||
unset(_BerkeleyDB_homebrew_prefix)
|
||||
|
||||
|
|
@ -68,21 +70,22 @@ if(NOT BerkeleyDB_LIBRARY)
|
|||
set(CMAKE_FIND_USE_CMAKE_PATH FALSE)
|
||||
endif()
|
||||
|
||||
get_filename_component(_BerkeleyDB_lib_hint "${BerkeleyDB_INCLUDE_DIR}"
|
||||
DIRECTORY)
|
||||
get_filename_component(_BerkeleyDB_lib_hint "${BerkeleyDB_INCLUDE_DIR}" DIRECTORY)
|
||||
|
||||
find_library(
|
||||
BerkeleyDB_LIBRARY_RELEASE
|
||||
NAMES db48 db53 db NAMES_PER_DIR
|
||||
HINTS ${_BerkeleyDB_lib_hint}
|
||||
PATH_SUFFIXES lib)
|
||||
PATH_SUFFIXES lib
|
||||
)
|
||||
mark_as_advanced(BerkeleyDB_LIBRARY_RELEASE)
|
||||
|
||||
find_library(
|
||||
BerkeleyDB_LIBRARY_DEBUG
|
||||
NAMES db48 db53 db NAMES_PER_DIR
|
||||
HINTS ${_BerkeleyDB_lib_hint}
|
||||
PATH_SUFFIXES debug/lib)
|
||||
PATH_SUFFIXES debug/lib
|
||||
)
|
||||
mark_as_advanced(BerkeleyDB_LIBRARY_DEBUG)
|
||||
|
||||
unset(_BerkeleyDB_lib_hint)
|
||||
|
|
@ -97,23 +100,23 @@ endif()
|
|||
|
||||
if(BerkeleyDB_INCLUDE_DIR)
|
||||
file(STRINGS "${BerkeleyDB_INCLUDE_DIR}/db.h" _BerkeleyDB_version_strings
|
||||
REGEX "^#define[\t ]+DB_VERSION_(MAJOR|MINOR|PATCH)[ \t]+[0-9]+.*")
|
||||
string(REGEX
|
||||
REPLACE ".*#define[\t ]+DB_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1"
|
||||
_BerkeleyDB_version_major "${_BerkeleyDB_version_strings}")
|
||||
string(REGEX
|
||||
REPLACE ".*#define[\t ]+DB_VERSION_MINOR[ \t]+([0-9]+).*" "\\1"
|
||||
_BerkeleyDB_version_minor "${_BerkeleyDB_version_strings}")
|
||||
string(REGEX
|
||||
REPLACE ".*#define[\t ]+DB_VERSION_PATCH[ \t]+([0-9]+).*" "\\1"
|
||||
_BerkeleyDB_version_patch "${_BerkeleyDB_version_strings}")
|
||||
REGEX "^#define[\t ]+DB_VERSION_(MAJOR|MINOR|PATCH)[ \t]+[0-9]+.*"
|
||||
)
|
||||
string(REGEX REPLACE ".*#define[\t ]+DB_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1"
|
||||
_BerkeleyDB_version_major "${_BerkeleyDB_version_strings}"
|
||||
)
|
||||
string(REGEX REPLACE ".*#define[\t ]+DB_VERSION_MINOR[ \t]+([0-9]+).*" "\\1"
|
||||
_BerkeleyDB_version_minor "${_BerkeleyDB_version_strings}"
|
||||
)
|
||||
string(REGEX REPLACE ".*#define[\t ]+DB_VERSION_PATCH[ \t]+([0-9]+).*" "\\1"
|
||||
_BerkeleyDB_version_patch "${_BerkeleyDB_version_strings}"
|
||||
)
|
||||
unset(_BerkeleyDB_version_strings)
|
||||
# The MAJOR.MINOR.PATCH version will be logged in the following find_package_handle_standard_args() command.
|
||||
set(_BerkeleyDB_full_version
|
||||
${_BerkeleyDB_version_major}.${_BerkeleyDB_version_minor}.${_BerkeleyDB_version_patch}
|
||||
)
|
||||
set(BerkeleyDB_VERSION
|
||||
${_BerkeleyDB_version_major}.${_BerkeleyDB_version_minor})
|
||||
set(BerkeleyDB_VERSION ${_BerkeleyDB_version_major}.${_BerkeleyDB_version_minor})
|
||||
unset(_BerkeleyDB_version_major)
|
||||
unset(_BerkeleyDB_version_minor)
|
||||
unset(_BerkeleyDB_version_patch)
|
||||
|
|
@ -123,30 +126,33 @@ include(FindPackageHandleStandardArgs)
|
|||
find_package_handle_standard_args(
|
||||
BerkeleyDB
|
||||
REQUIRED_VARS BerkeleyDB_LIBRARY BerkeleyDB_INCLUDE_DIR
|
||||
VERSION_VAR _BerkeleyDB_full_version)
|
||||
VERSION_VAR _BerkeleyDB_full_version
|
||||
)
|
||||
unset(_BerkeleyDB_full_version)
|
||||
|
||||
if(BerkeleyDB_FOUND AND NOT TARGET BerkeleyDB::BerkeleyDB)
|
||||
add_library(BerkeleyDB::BerkeleyDB UNKNOWN IMPORTED)
|
||||
set_target_properties(
|
||||
BerkeleyDB::BerkeleyDB PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
"${BerkeleyDB_INCLUDE_DIR}")
|
||||
BerkeleyDB::BerkeleyDB PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${BerkeleyDB_INCLUDE_DIR}"
|
||||
)
|
||||
if(BerkeleyDB_LIBRARY_RELEASE)
|
||||
set_property(
|
||||
TARGET BerkeleyDB::BerkeleyDB
|
||||
APPEND
|
||||
PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
PROPERTY IMPORTED_CONFIGURATIONS RELEASE
|
||||
)
|
||||
set_target_properties(
|
||||
BerkeleyDB::BerkeleyDB PROPERTIES IMPORTED_LOCATION_RELEASE
|
||||
"${BerkeleyDB_LIBRARY_RELEASE}")
|
||||
BerkeleyDB::BerkeleyDB PROPERTIES IMPORTED_LOCATION_RELEASE "${BerkeleyDB_LIBRARY_RELEASE}"
|
||||
)
|
||||
endif()
|
||||
if(BerkeleyDB_LIBRARY_DEBUG)
|
||||
set_property(
|
||||
TARGET BerkeleyDB::BerkeleyDB
|
||||
APPEND
|
||||
PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
|
||||
PROPERTY IMPORTED_CONFIGURATIONS DEBUG
|
||||
)
|
||||
set_target_properties(
|
||||
BerkeleyDB::BerkeleyDB PROPERTIES IMPORTED_LOCATION_DEBUG
|
||||
"${BerkeleyDB_LIBRARY_DEBUG}")
|
||||
BerkeleyDB::BerkeleyDB PROPERTIES IMPORTED_LOCATION_DEBUG "${BerkeleyDB_LIBRARY_DEBUG}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -49,9 +49,7 @@ This will define the following variables:
|
|||
#]=======================================================================]
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
set(Erlang_BIN_PATH $ENV{ERLANG_HOME}/bin /opt/bin /sw/bin /usr/bin
|
||||
/usr/local/bin /opt/local/bin
|
||||
)
|
||||
set(Erlang_BIN_PATH $ENV{ERLANG_HOME}/bin /opt/bin /sw/bin /usr/bin /usr/local/bin /opt/local/bin)
|
||||
|
||||
find_program(
|
||||
Erlang_RUNTIME
|
||||
|
|
@ -66,28 +64,23 @@ find_program(
|
|||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND erl -noshell -eval "io:format(\"~s\", [code:lib_dir()])" -s erlang
|
||||
halt OUTPUT_VARIABLE Erlang_OTP_LIB_DIR
|
||||
COMMAND erl -noshell -eval "io:format(\"~s\", [code:lib_dir()])" -s erlang halt
|
||||
OUTPUT_VARIABLE Erlang_OTP_LIB_DIR
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND erl -noshell -eval "io:format(\"~s\", [code:root_dir()])" -s erlang
|
||||
halt OUTPUT_VARIABLE Erlang_OTP_ROOT_DIR
|
||||
COMMAND erl -noshell -eval "io:format(\"~s\", [code:root_dir()])" -s erlang halt
|
||||
OUTPUT_VARIABLE Erlang_OTP_ROOT_DIR
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
erl -noshell -eval
|
||||
"io:format(\"~s\",[filename:basename(code:lib_dir('erl_interface'))])" -s
|
||||
erlang halt
|
||||
OUTPUT_VARIABLE Erlang_EI_DIR
|
||||
COMMAND erl -noshell -eval "io:format(\"~s\",[filename:basename(code:lib_dir('erl_interface'))])"
|
||||
-s erlang halt OUTPUT_VARIABLE Erlang_EI_DIR
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
erl -noshell -eval
|
||||
"io:format(\"~s\",[filename:basename(code:lib_dir('erts'))])" -s erlang halt
|
||||
OUTPUT_VARIABLE Erlang_ERTS_DIR
|
||||
COMMAND erl -noshell -eval "io:format(\"~s\",[filename:basename(code:lib_dir('erts'))])" -s erlang
|
||||
halt OUTPUT_VARIABLE Erlang_ERTS_DIR
|
||||
)
|
||||
|
||||
set(Erlang_EI_PATH ${Erlang_OTP_LIB_DIR}/${Erlang_EI_DIR})
|
||||
|
|
@ -113,39 +106,28 @@ if(Erlang_FOUND)
|
|||
if(NOT TARGET Erlang::Erlang)
|
||||
add_library(Erlang::Erlang INTERFACE IMPORTED)
|
||||
set_target_properties(
|
||||
Erlang::Erlang PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
${Erlang_OTP_ROOT_DIR}/usr/include
|
||||
Erlang::Erlang PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${Erlang_OTP_ROOT_DIR}/usr/include
|
||||
)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET Erlang::ERTS)
|
||||
add_library(Erlang::ERTS STATIC IMPORTED)
|
||||
set_target_properties(
|
||||
Erlang::ERTS
|
||||
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${Erlang_ERTS_INCLUDE_DIRS}
|
||||
IMPORTED_LOCATION ${Erlang_ERTS_LIBRARY_PATH}/liberts.a
|
||||
Erlang::ERTS PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${Erlang_ERTS_INCLUDE_DIRS}
|
||||
IMPORTED_LOCATION ${Erlang_ERTS_LIBRARY_PATH}/liberts.a
|
||||
)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET Erlang::EI)
|
||||
add_library(erlang_ei STATIC IMPORTED)
|
||||
set_property(
|
||||
TARGET erlang_ei PROPERTY IMPORTED_LOCATION
|
||||
${Erlang_EI_LIBRARY_PATH}/libei.a
|
||||
)
|
||||
set_property(TARGET erlang_ei PROPERTY IMPORTED_LOCATION ${Erlang_EI_LIBRARY_PATH}/libei.a)
|
||||
add_library(erlang_erl_interface STATIC IMPORTED)
|
||||
set_property(
|
||||
TARGET erlang_erl_interface
|
||||
PROPERTY IMPORTED_LOCATION ${Erlang_EI_LIBRARY_PATH}/liberl_interface.a
|
||||
TARGET erlang_erl_interface PROPERTY IMPORTED_LOCATION
|
||||
${Erlang_EI_LIBRARY_PATH}/liberl_interface.a
|
||||
)
|
||||
add_library(Erlang::EI INTERFACE IMPORTED)
|
||||
set_property(
|
||||
TARGET Erlang::EI PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
||||
${Erlang_EI_INCLUDE_DIRS}
|
||||
)
|
||||
set_property(
|
||||
TARGET Erlang::EI PROPERTY INTERFACE_LINK_LIBRARIES erlang_ei
|
||||
erlang_erl_interface
|
||||
)
|
||||
set_property(TARGET Erlang::EI PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${Erlang_EI_INCLUDE_DIRS})
|
||||
set_property(TARGET Erlang::EI PROPERTY INTERFACE_LINK_LIBRARIES erlang_ei erlang_erl_interface)
|
||||
endif()
|
||||
endif(Erlang_FOUND)
|
||||
|
|
|
|||
|
|
@ -58,29 +58,21 @@ endif()
|
|||
|
||||
if(EXISTS ${Ldap_INCLUDE_DIRS}/ldap_features.h)
|
||||
file(READ ${Ldap_INCLUDE_DIRS}/ldap_features.h LDAP_FEATURES_H_CONTENT)
|
||||
string(REGEX MATCH "#define LDAP_VENDOR_VERSION_MAJOR[ ]+[0-9]+"
|
||||
_LDAP_VERSION_MAJOR_MATCH ${LDAP_FEATURES_H_CONTENT}
|
||||
string(REGEX MATCH "#define LDAP_VENDOR_VERSION_MAJOR[ ]+[0-9]+" _LDAP_VERSION_MAJOR_MATCH
|
||||
${LDAP_FEATURES_H_CONTENT}
|
||||
)
|
||||
string(REGEX MATCH "#define LDAP_VENDOR_VERSION_MINOR[ ]+[0-9]+"
|
||||
_LDAP_VERSION_MINOR_MATCH ${LDAP_FEATURES_H_CONTENT}
|
||||
string(REGEX MATCH "#define LDAP_VENDOR_VERSION_MINOR[ ]+[0-9]+" _LDAP_VERSION_MINOR_MATCH
|
||||
${LDAP_FEATURES_H_CONTENT}
|
||||
)
|
||||
string(REGEX MATCH "#define LDAP_VENDOR_VERSION_PATCH[ ]+[0-9]+"
|
||||
_LDAP_VERSION_PATCH_MATCH ${LDAP_FEATURES_H_CONTENT}
|
||||
string(REGEX MATCH "#define LDAP_VENDOR_VERSION_PATCH[ ]+[0-9]+" _LDAP_VERSION_PATCH_MATCH
|
||||
${LDAP_FEATURES_H_CONTENT}
|
||||
)
|
||||
|
||||
string(REGEX REPLACE ".*_MAJOR[ ]+(.*)" "\\1" LDAP_VERSION_MAJOR
|
||||
${_LDAP_VERSION_MAJOR_MATCH}
|
||||
)
|
||||
string(REGEX REPLACE ".*_MINOR[ ]+(.*)" "\\1" LDAP_VERSION_MINOR
|
||||
${_LDAP_VERSION_MINOR_MATCH}
|
||||
)
|
||||
string(REGEX REPLACE ".*_PATCH[ ]+(.*)" "\\1" LDAP_VERSION_PATCH
|
||||
${_LDAP_VERSION_PATCH_MATCH}
|
||||
)
|
||||
string(REGEX REPLACE ".*_MAJOR[ ]+(.*)" "\\1" LDAP_VERSION_MAJOR ${_LDAP_VERSION_MAJOR_MATCH})
|
||||
string(REGEX REPLACE ".*_MINOR[ ]+(.*)" "\\1" LDAP_VERSION_MINOR ${_LDAP_VERSION_MINOR_MATCH})
|
||||
string(REGEX REPLACE ".*_PATCH[ ]+(.*)" "\\1" LDAP_VERSION_PATCH ${_LDAP_VERSION_PATCH_MATCH})
|
||||
|
||||
set(Ldap_VERSION
|
||||
"${LDAP_VERSION_MAJOR}.${LDAP_VERSION_MINOR}.${LDAP_VERSION_PATCH}"
|
||||
)
|
||||
set(Ldap_VERSION "${LDAP_VERSION_MAJOR}.${LDAP_VERSION_MINOR}.${LDAP_VERSION_PATCH}")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
|
@ -94,9 +86,7 @@ find_package_handle_standard_args(
|
|||
|
||||
if(Ldap_FOUND AND NOT TARGET Lber::Lber)
|
||||
add_library(Lber::Lber UNKNOWN IMPORTED)
|
||||
set_target_properties(
|
||||
Lber::Lber PROPERTIES IMPORTED_LOCATION "${Lber_LIBRARY}"
|
||||
)
|
||||
set_target_properties(Lber::Lber PROPERTIES IMPORTED_LOCATION "${Lber_LIBRARY}")
|
||||
endif()
|
||||
|
||||
if(Ldap_FOUND AND NOT TARGET Ldap::Ldap)
|
||||
|
|
|
|||
|
|
@ -53,8 +53,6 @@ endif()
|
|||
list(APPEND LIBEV_LIBRARIES "${LIBEV_LIBRARY}")
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
Libev REQUIRED_VARS LIBEV_LIBRARIES LIBEV_INCLUDE_DIR
|
||||
)
|
||||
find_package_handle_standard_args(Libev REQUIRED_VARS LIBEV_LIBRARIES LIBEV_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(LIBEV_INCLUDE_DIR LIBEV_LIBRARIES LIBEV_LIBRARY)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@ find_path(LibfreeradiusClient_INCLUDE_DIR NAMES freeradius-client.h)
|
|||
find_library(
|
||||
LibfreeradiusClient_LIBRARY
|
||||
NAMES freeradius-client freeradius-eap
|
||||
PATH_SUFFIXES freeradius)
|
||||
PATH_SUFFIXES freeradius
|
||||
)
|
||||
|
||||
mark_as_advanced(LibfreeradiusClient_LIBRARY LibfreeradiusClient_INCLUDE_DIR)
|
||||
|
||||
|
|
@ -22,21 +23,23 @@ mark_as_advanced(LibfreeradiusClient_LIBRARY LibfreeradiusClient_INCLUDE_DIR)
|
|||
# all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
LibfreeradiusClient REQUIRED_VARS LibfreeradiusClient_LIBRARY
|
||||
LibfreeradiusClient_INCLUDE_DIR)
|
||||
LibfreeradiusClient REQUIRED_VARS LibfreeradiusClient_LIBRARY LibfreeradiusClient_INCLUDE_DIR
|
||||
)
|
||||
|
||||
if(LibfreeradiusClient_FOUND)
|
||||
find_package_message(
|
||||
LibfreeradiusClient "Found Libfreeradius: ${LibfreeradiusClient_LIBRARY}"
|
||||
"[${LibfreeradiusClient_LIBRARY}][${LibfreeradiusClient_INCLUDE_DIR}]")
|
||||
"[${LibfreeradiusClient_LIBRARY}][${LibfreeradiusClient_INCLUDE_DIR}]"
|
||||
)
|
||||
set(LibfreeradiusClient_INCLUDE_DIRS ${LibfreeradiusClient_INCLUDE_DIR})
|
||||
set(LibfreeradiusClient_LIBRARIES ${LibfreeradiusClient_LIBRARY})
|
||||
add_library(LibfreeradiusClient::LIBFREERADIUS UNKNOWN IMPORTED)
|
||||
set_target_properties(
|
||||
LibfreeradiusClient::LIBFREERADIUS
|
||||
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
"${LibfreeradiusClient_INCLUDE_DIR}")
|
||||
LibfreeradiusClient::LIBFREERADIUS PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
"${LibfreeradiusClient_INCLUDE_DIR}"
|
||||
)
|
||||
set_target_properties(
|
||||
LibfreeradiusClient::LIBFREERADIUS
|
||||
PROPERTIES IMPORTED_LOCATION "${LibfreeradiusClient_LIBRARY}")
|
||||
LibfreeradiusClient::LIBFREERADIUS PROPERTIES IMPORTED_LOCATION
|
||||
"${LibfreeradiusClient_LIBRARY}"
|
||||
)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -40,8 +40,7 @@ set(BAK_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
find_library(
|
||||
MariaDBClient_LIBRARY
|
||||
NAMES mariadb libmariadb mariadbclient libmariadbclient mysqlclient
|
||||
libmysqlclient
|
||||
NAMES mariadb libmariadb mariadbclient libmariadbclient mysqlclient libmysqlclient
|
||||
PATH_SUFFIXES mariadb mysql
|
||||
)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${BAK_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
|
|
|
|||
|
|
@ -130,9 +130,7 @@ set(ENV_OR_OPT_VARS
|
|||
)
|
||||
|
||||
# Mark the variable names that have values that are paths
|
||||
set(ENV_OR_OPT_PATH_VARS MYSQL_DIR MYSQL_INCLUDE_DIR MYSQL_LIB_DIR
|
||||
MYSQL_PLUGIN_DIR
|
||||
)
|
||||
set(ENV_OR_OPT_PATH_VARS MYSQL_DIR MYSQL_INCLUDE_DIR MYSQL_LIB_DIR MYSQL_PLUGIN_DIR)
|
||||
|
||||
foreach(_xvar ${ENV_OR_OPT_VARS})
|
||||
|
||||
|
|
@ -167,10 +165,8 @@ endforeach()
|
|||
# were given
|
||||
|
||||
if(MYSQL_DIR AND (MYSQL_INCLUDE_DIR OR MYSQL_LIB_DIR))
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Both MYSQL_DIR and MYSQL_INCLUDE_DIR/MYSQL_LIB_DIR were specified,"
|
||||
" use either one or the other way of pointing at MySQL location."
|
||||
message(FATAL_ERROR "Both MYSQL_DIR and MYSQL_INCLUDE_DIR/MYSQL_LIB_DIR were specified,"
|
||||
" use either one or the other way of pointing at MySQL location."
|
||||
)
|
||||
endif()
|
||||
|
||||
|
|
@ -215,9 +211,7 @@ else()
|
|||
add_definitions(-DNDEBUG) # FIXME what?!
|
||||
endif()
|
||||
|
||||
set(_exe_fallback_path /usr/bin /usr/local/bin /opt/mysql/mysql/bin
|
||||
/usr/local/mysql/bin
|
||||
)
|
||||
set(_exe_fallback_path /usr/bin /usr/local/bin /opt/mysql/mysql/bin /usr/local/mysql/bin)
|
||||
|
||||
set(_include_fallback_path
|
||||
/usr/include/mysql
|
||||
|
|
@ -322,10 +316,7 @@ string(REPLACE ";" " " _pp_include_fallback_path "${_include_fallback_path}")
|
|||
message(STATUS "You will link ${_link_type}ally to the MySQL client"
|
||||
" library (set with -DMYSQLCLIENT_STATIC_LINKING=<bool>)"
|
||||
)
|
||||
message(
|
||||
STATUS
|
||||
"Searching for ${_link_type} libraries with the base name(s) \"${_pp_search_libs}\""
|
||||
)
|
||||
message(STATUS "Searching for ${_link_type} libraries with the base name(s) \"${_pp_search_libs}\"")
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
|
|
@ -367,20 +358,12 @@ endmacro()
|
|||
|
||||
macro(_mysql_config _var _regex _opt)
|
||||
_mysql_conf(_mysql_config_output ${_opt})
|
||||
string(REGEX MATCHALL "${_regex}([^ ]+)" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX REPLACE "^[ \t]+" "" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX MATCHALL "${_regex}([^ ]+)" _mysql_config_output "${_mysql_config_output}")
|
||||
string(REGEX REPLACE "^[ \t]+" "" _mysql_config_output "${_mysql_config_output}")
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "SunOS")
|
||||
string(REGEX REPLACE " -latomic" "" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX REPLACE " -latomic" "" _mysql_config_output "${_mysql_config_output}")
|
||||
endif()
|
||||
string(REGEX REPLACE "${_regex}" "" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX REPLACE "${_regex}" "" _mysql_config_output "${_mysql_config_output}")
|
||||
separate_arguments(_mysql_config_output)
|
||||
set(${_var} ${_mysql_config_output})
|
||||
endmacro()
|
||||
|
|
@ -403,23 +386,13 @@ endmacro()
|
|||
|
||||
macro(_mysql_config_replace _var _regex1 _replace _regex2 _opt)
|
||||
_mysql_conf(_mysql_config_output ${_opt})
|
||||
string(REGEX MATCHALL "${_regex2}([^ ]+)" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX REPLACE "^[ \t]+" "" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX MATCHALL "${_regex2}([^ ]+)" _mysql_config_output "${_mysql_config_output}")
|
||||
string(REGEX REPLACE "^[ \t]+" "" _mysql_config_output "${_mysql_config_output}")
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "SunOS")
|
||||
string(REGEX REPLACE " -latomic" "" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX REPLACE " -latomic" "" _mysql_config_output "${_mysql_config_output}")
|
||||
endif()
|
||||
string(REGEX REPLACE "${_regex2}" "" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX REPLACE "${_regex1}" "${_replace}" _mysql_config_output
|
||||
"${_mysql_config_output}"
|
||||
)
|
||||
string(REGEX REPLACE "${_regex2}" "" _mysql_config_output "${_mysql_config_output}")
|
||||
string(REGEX REPLACE "${_regex1}" "${_replace}" _mysql_config_output "${_mysql_config_output}")
|
||||
separate_arguments(_mysql_config_output)
|
||||
set(${_var} ${_mysql_config_output})
|
||||
endmacro()
|
||||
|
|
@ -442,10 +415,8 @@ macro(_check_lib_search_error _lib_dir_var _lib_var _exta_err_string)
|
|||
message("_lib_dir_var \"${_lib_dir_var}\"")
|
||||
endif()
|
||||
|
||||
set(_err_string
|
||||
"Could not find ${_link_type} "
|
||||
"\"${_pp_search_libs}\" in ${_lib_dir_var} "
|
||||
"\"${_lib_dir}\" ${_exta_err_string}"
|
||||
set(_err_string "Could not find ${_link_type} " "\"${_pp_search_libs}\" in ${_lib_dir_var} "
|
||||
"\"${_lib_dir}\" ${_exta_err_string}"
|
||||
)
|
||||
|
||||
if(NOT ${_lib_var})
|
||||
|
|
@ -529,9 +500,7 @@ elseif(
|
|||
|
||||
set(MYSQL_INCLUDE_DIR "${MYSQL_DIR}/include")
|
||||
if(NOT EXISTS "${MYSQL_INCLUDE_DIR}/mysql.h")
|
||||
message(FATAL_ERROR "MYSQL_DIR given, but no \"mysql.h\" "
|
||||
"in \"${MYSQL_INCLUDE_DIR}\""
|
||||
)
|
||||
message(FATAL_ERROR "MYSQL_DIR given, but no \"mysql.h\" " "in \"${MYSQL_INCLUDE_DIR}\"")
|
||||
endif()
|
||||
|
||||
elseif(MYSQL_CONFIG_EXECUTABLE)
|
||||
|
|
@ -550,9 +519,8 @@ elseif(MYSQL_CONFIG_EXECUTABLE)
|
|||
endif()
|
||||
|
||||
if(NOT EXISTS "${MYSQL_INCLUDE_DIR}/mysql.h")
|
||||
message(
|
||||
FATAL_ERROR "Could not find \"mysql.h\" in \"${MYSQL_INCLUDE_DIR}\" "
|
||||
"found from running \"${MYSQL_CONFIG_EXECUTABLE}\""
|
||||
message(FATAL_ERROR "Could not find \"mysql.h\" in \"${MYSQL_INCLUDE_DIR}\" "
|
||||
"found from running \"${MYSQL_CONFIG_EXECUTABLE}\""
|
||||
)
|
||||
endif()
|
||||
|
||||
|
|
@ -615,9 +583,7 @@ elseif(
|
|||
)
|
||||
|
||||
if(FINDMYSQL_DEBUG)
|
||||
message("DBG: Using find_library() searching "
|
||||
"MYSQL_DIR and \"${_pp_lib_subdirs}\""
|
||||
)
|
||||
message("DBG: Using find_library() searching " "MYSQL_DIR and \"${_pp_lib_subdirs}\"")
|
||||
endif()
|
||||
|
||||
find_library(
|
||||
|
|
@ -631,9 +597,7 @@ elseif(
|
|||
get_filename_component(MYSQL_LIB_DIR "${MYSQL_LIB}" PATH)
|
||||
set(MYSQL_LIBRARIES "${MYSQL_LIB}")
|
||||
|
||||
if(((NOT DEFINED MYSQL_PLUGIN_DIR) OR (NOT ${MYSQL_PLUGIN_DIR}))
|
||||
AND MYSQL_LIB_DIR
|
||||
)
|
||||
if(((NOT DEFINED MYSQL_PLUGIN_DIR) OR (NOT ${MYSQL_PLUGIN_DIR})) AND MYSQL_LIB_DIR)
|
||||
if(EXISTS "${MYSQL_LIB_DIR}/plugin")
|
||||
set(MYSQL_PLUGIN_DIR "${MYSQL_LIB_DIR}/plugin")
|
||||
else()
|
||||
|
|
@ -721,8 +685,7 @@ elseif(MYSQL_CONFIG_EXECUTABLE)
|
|||
# Replace the current library references with the full path
|
||||
# to the library, i.e. the -L will be ignored
|
||||
_mysql_config_replace(
|
||||
MYSQL_LIBRARIES "(mysqlclient|mysqlclient_r)" "${MYSQL_LIB}" "(^| )-l"
|
||||
"--libs"
|
||||
MYSQL_LIBRARIES "(mysqlclient|mysqlclient_r)" "${MYSQL_LIB}" "(^| )-l" "--libs"
|
||||
)
|
||||
|
||||
else()
|
||||
|
|
@ -798,11 +761,10 @@ endif()
|
|||
list(LENGTH MYSQL_LIBRARIES len)
|
||||
if(MYSQL_STATIC_LINKING AND (len LESS 2))
|
||||
message(
|
||||
WARNING
|
||||
"Statically linking MySQL client library normally requires linking"
|
||||
" additional libraries that the client library depends on. It seems"
|
||||
" no extra libraries have been specified. Provide the list of required"
|
||||
" dependencies through MYSQL_EXTRA_LIBRARIES."
|
||||
WARNING "Statically linking MySQL client library normally requires linking"
|
||||
" additional libraries that the client library depends on. It seems"
|
||||
" no extra libraries have been specified. Provide the list of required"
|
||||
" dependencies through MYSQL_EXTRA_LIBRARIES."
|
||||
)
|
||||
endif()
|
||||
|
||||
|
|
@ -819,9 +781,7 @@ set(MYSQL_CLIENT_LIBS ${MYSQL_LIBRARIES})
|
|||
if(MYSQL_INCLUDE_DIR AND NOT MYSQL_VERSION)
|
||||
|
||||
# Write the C source file that will include the MySQL headers
|
||||
set(GETMYSQLVERSION_SOURCEFILE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/getmysqlversion.c"
|
||||
)
|
||||
set(GETMYSQLVERSION_SOURCEFILE "${CMAKE_CURRENT_BINARY_DIR}/getmysqlversion.c")
|
||||
file(WRITE "${GETMYSQLVERSION_SOURCEFILE}"
|
||||
"#include <mysql.h>\n" "#include <stdio.h>\n" "int main() {\n"
|
||||
" printf(\"%s\", MYSQL_SERVER_VERSION);\n" "}\n"
|
||||
|
|
@ -829,8 +789,7 @@ if(MYSQL_INCLUDE_DIR AND NOT MYSQL_VERSION)
|
|||
|
||||
# Compile and run the created executable, store output in MYSQL_VERSION
|
||||
try_run(
|
||||
_run_result _compile_result "${CMAKE_BINARY_DIR}"
|
||||
"${GETMYSQLVERSION_SOURCEFILE}"
|
||||
_run_result _compile_result "${CMAKE_BINARY_DIR}" "${GETMYSQLVERSION_SOURCEFILE}"
|
||||
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${MYSQL_INCLUDE_DIR}"
|
||||
RUN_OUTPUT_VARIABLE MYSQL_VERSION
|
||||
)
|
||||
|
|
@ -859,12 +818,8 @@ endif()
|
|||
# Clean up so only numeric, in case of "-alpha" or similar
|
||||
string(REGEX MATCHALL "([0-9]+.[0-9]+.[0-9]+)" MYSQL_VERSION "${MYSQL_VERSION}")
|
||||
# To create a fully numeric version, first normalize so N.NN.NN
|
||||
string(REGEX REPLACE "[.]([0-9])[.]" ".0\\1." MYSQL_VERSION_ID
|
||||
"${MYSQL_VERSION}"
|
||||
)
|
||||
string(REGEX REPLACE "[.]([0-9])$" ".0\\1" MYSQL_VERSION_ID
|
||||
"${MYSQL_VERSION_ID}"
|
||||
)
|
||||
string(REGEX REPLACE "[.]([0-9])[.]" ".0\\1." MYSQL_VERSION_ID "${MYSQL_VERSION}")
|
||||
string(REGEX REPLACE "[.]([0-9])$" ".0\\1" MYSQL_VERSION_ID "${MYSQL_VERSION_ID}")
|
||||
# Finally remove the dot
|
||||
string(REGEX REPLACE "[.]" "" MYSQL_VERSION_ID "${MYSQL_VERSION_ID}")
|
||||
set(MYSQL_NUM_VERSION ${MYSQL_VERSION_ID})
|
||||
|
|
@ -933,10 +888,7 @@ endif()
|
|||
#
|
||||
##########################################################################
|
||||
|
||||
message(
|
||||
STATUS
|
||||
"MySQL client environment/cmake variables set that the user can override"
|
||||
)
|
||||
message(STATUS "MySQL client environment/cmake variables set that the user can override")
|
||||
|
||||
message(STATUS " MYSQL_DIR : ${MYSQL_DIR}")
|
||||
message(STATUS " MYSQL_INCLUDE_DIR : ${MYSQL_INCLUDE_DIR}")
|
||||
|
|
@ -949,9 +901,7 @@ message(STATUS " MYSQL_CXXFLAGS : ${MYSQL_CXXFLAGS}")
|
|||
message(STATUS " MYSQLCLIENT_STATIC_LINKING : ${MYSQLCLIENT_STATIC_LINKING}")
|
||||
message(STATUS " MYSQLCLIENT_NO_THREADS : ${MYSQLCLIENT_NO_THREADS}")
|
||||
|
||||
message(
|
||||
STATUS "MySQL client optional environment/cmake variables set by the user"
|
||||
)
|
||||
message(STATUS "MySQL client optional environment/cmake variables set by the user")
|
||||
|
||||
message(STATUS " MYSQL_EXTRA_LIBRARIES : ${MYSQL_EXTRA_LIBRARIES}")
|
||||
message(STATUS " MYSQL_LINK_FLAGS : ${MYSQL_LINK_FLAGS}")
|
||||
|
|
|
|||
|
|
@ -38,12 +38,8 @@ endif(NETSNMP_LIBS)
|
|||
find_program(NETSNMP_CONFIG_BIN net-snmp-config)
|
||||
|
||||
if(NETSNMP_CONFIG_BIN)
|
||||
execute_process(
|
||||
COMMAND ${NETSNMP_CONFIG_BIN} --cflags OUTPUT_VARIABLE _NETSNMP_CFLAGS
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${NETSNMP_CONFIG_BIN} --libs OUTPUT_VARIABLE _NETSNMP_LIBS
|
||||
)
|
||||
execute_process(COMMAND ${NETSNMP_CONFIG_BIN} --cflags OUTPUT_VARIABLE _NETSNMP_CFLAGS)
|
||||
execute_process(COMMAND ${NETSNMP_CONFIG_BIN} --libs OUTPUT_VARIABLE _NETSNMP_LIBS)
|
||||
# Strip trailing and leading whitespaces
|
||||
string(STRIP "${_NETSNMP_CFLAGS}" _NETSNMP_CFLAGS)
|
||||
string(STRIP "${_NETSNMP_LIBS}" _NETSNMP_LIBS)
|
||||
|
|
@ -60,14 +56,13 @@ if(NETSNMP_CONFIG_BIN)
|
|||
|
||||
add_library(NETSNMP::NETSNMP INTERFACE IMPORTED)
|
||||
set_target_properties(
|
||||
NETSNMP::NETSNMP PROPERTIES COMPILE_FLAGS "${NETSNMP_CFLAGS}"
|
||||
INTERFACE_LINK_LIBRARIES "${NETSNMP_LIBS}"
|
||||
NETSNMP::NETSNMP PROPERTIES COMPILE_FLAGS "${NETSNMP_CFLAGS}" INTERFACE_LINK_LIBRARIES
|
||||
"${NETSNMP_LIBS}"
|
||||
)
|
||||
|
||||
if(NOT TARGET NETSNMP::NETSNMP)
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Failed to create NETSNMP::NETSNMP target, check the output of net-snmp-config"
|
||||
FATAL_ERROR "Failed to create NETSNMP::NETSNMP target, check the output of net-snmp-config"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
|
|
|
|||
|
|
@ -56,8 +56,7 @@ set(ORACLE_VERSIONS
|
|||
11
|
||||
10
|
||||
)
|
||||
set(ORACLE_OCI_NAMES clntsh libclntsh oci
|
||||
)# Dirty trick might help on OSX, see issues/89
|
||||
set(ORACLE_OCI_NAMES clntsh libclntsh oci) # Dirty trick might help on OSX, see issues/89
|
||||
set(ORACLE_OCCI_NAMES libocci occi)
|
||||
set(ORACLE_NNZ_NAMES ociw32)
|
||||
foreach(loop_var IN LISTS ORACLE_VERSIONS)
|
||||
|
|
@ -91,9 +90,7 @@ find_library(
|
|||
PATHS ${ORACLE_LIB_DIR}
|
||||
)
|
||||
|
||||
set(ORACLE_LIBRARY ${ORACLE_OCI_LIBRARY} ${ORACLE_OCCI_LIBRARY}
|
||||
${ORACLE_NNZ_LIBRARY}
|
||||
)
|
||||
set(ORACLE_LIBRARY ${ORACLE_OCI_LIBRARY} ${ORACLE_OCCI_LIBRARY} ${ORACLE_NNZ_LIBRARY})
|
||||
|
||||
if(NOT WIN32)
|
||||
set(ORACLE_LIBRARY ${ORACLE_LIBRARY} ${ORACLE_CLNTSH_LIBRARY})
|
||||
|
|
@ -104,9 +101,7 @@ set(ORACLE_LIBRARIES ${ORACLE_LIBRARY})
|
|||
# Handle the QUIETLY and REQUIRED arguments and set ORACLE_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
Oracle DEFAULT_MSG ORACLE_LIBRARY ORACLE_INCLUDE_DIR
|
||||
)
|
||||
find_package_handle_standard_args(Oracle DEFAULT_MSG ORACLE_LIBRARY ORACLE_INCLUDE_DIR)
|
||||
|
||||
if(NOT ORACLE_FOUND)
|
||||
message(
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@ find_package(PkgConfig)
|
|||
set(RADIUSCLIENTS FREERADIUS RADCLI RADIUSCLIENT_NG)
|
||||
set(RADIUSCLIENT
|
||||
RADCLI
|
||||
CACHE STRING "Radius Client to use")
|
||||
CACHE STRING "Radius Client to use"
|
||||
)
|
||||
set_property(CACHE RADIUSCLIENT PROPERTY STRINGS ${RADIUSCLIENTS})
|
||||
|
||||
# option(FREERADIUS "Use freeradius-client library" OFF)
|
||||
|
|
@ -37,8 +38,7 @@ if(${RADIUSCLIENT} STREQUAL "FREERADIUS")
|
|||
# - freeradius-client library
|
||||
set(RADIUSCLIENT_LIB USE_FREERADIUS)
|
||||
find_package(LibfreeradiusClient REQUIRED)
|
||||
add_library(RadiusClient::RadiusClient ALIAS
|
||||
LibfreeradiusClient::LIBFREERADIUS)
|
||||
add_library(RadiusClient::RadiusClient ALIAS LibfreeradiusClient::LIBFREERADIUS)
|
||||
elseif(${RADIUSCLIENT} STREQUAL "RADCLI")
|
||||
# - radcli library
|
||||
set(RADIUSCLIENT_LIB USE_RADCLI)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,4 @@
|
|||
message(
|
||||
STATUS
|
||||
"Configuring for Darwin (Apple stationary operating systems (macOS, OS X, etc.)"
|
||||
)
|
||||
message(STATUS "Configuring for Darwin (Apple stationary operating systems (macOS, OS X, etc.)")
|
||||
|
||||
target_compile_definitions(
|
||||
common
|
||||
|
|
@ -16,7 +13,8 @@ target_compile_definitions(
|
|||
HAVE_CONNECT_ECONNRESET_BUG
|
||||
HAVE_TIMEGM
|
||||
USE_SIGWAIT
|
||||
HAVE_IP_MREQN)
|
||||
HAVE_IP_MREQN
|
||||
)
|
||||
|
||||
target_link_libraries(common INTERFACE resolv)
|
||||
target_link_libraries(common_utils INTERFACE resolv)
|
||||
|
|
@ -25,20 +23,22 @@ if(NOT ${USE_FAST_LOCK})
|
|||
target_compile_definitions(common INTERFACE USE_PTHREAD_MUTEX USE_SYSV_SEM)
|
||||
endif()
|
||||
|
||||
if (CMAKE_HOST_SYSTEM_VERSION VERSION_LESS 24)
|
||||
message(STATUS "Running on Big Sur")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS
|
||||
"${CMAKE_MODULE_LINKER_FLAGS} -bundle -flat_namespace -undefined suppress")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS
|
||||
"${CMAKE_SHARED_LINKER_FLAGS} -dynamiclib -flat_namespace -undefined suppress"
|
||||
)
|
||||
else ()
|
||||
set(CMAKE_MODULE_LINKER_FLAGS
|
||||
"${CMAKE_MODULE_LINKER_FLAGS} -bundle -flat_namespace -undefined dynamic_lookup")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS
|
||||
"${CMAKE_SHARED_LINKER_FLAGS} -dynamiclib -flat_namespace -undefined dynamic_lookup"
|
||||
)
|
||||
endif ()
|
||||
if(CMAKE_HOST_SYSTEM_VERSION VERSION_LESS 24)
|
||||
message(STATUS "Running on Big Sur")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS
|
||||
"${CMAKE_MODULE_LINKER_FLAGS} -bundle -flat_namespace -undefined suppress"
|
||||
)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS
|
||||
"${CMAKE_SHARED_LINKER_FLAGS} -dynamiclib -flat_namespace -undefined suppress"
|
||||
)
|
||||
else()
|
||||
set(CMAKE_MODULE_LINKER_FLAGS
|
||||
"${CMAKE_MODULE_LINKER_FLAGS} -bundle -flat_namespace -undefined dynamic_lookup"
|
||||
)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS
|
||||
"${CMAKE_SHARED_LINKER_FLAGS} -dynamiclib -flat_namespace -undefined dynamic_lookup"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(NOT NO_SELECT)
|
||||
target_compile_definitions(common INTERFACE HAVE_SELECT)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ target_compile_definitions(
|
|||
HAVE_ALLOCA_H
|
||||
HAVE_TIMEGM
|
||||
HAVE_SCHED_SETSCHEDULER
|
||||
HAVE_IP_MREQN)
|
||||
HAVE_IP_MREQN
|
||||
)
|
||||
|
||||
if(${RAW_SOCKS})
|
||||
target_compile_definitions(common INTERFACE USE_RAW_SOCKS)
|
||||
|
|
@ -21,8 +22,7 @@ if(NOT ${USE_FAST_LOCK})
|
|||
target_link_libraries(common INTERFACE pthread)
|
||||
else()
|
||||
# Check if lock_method is posix or pthread
|
||||
if(LOCK_METHOD STREQUAL "USE_POSIX_SEM" OR LOCK_METHOD STREQUAL
|
||||
"USE_PTHREAD_MUTEX")
|
||||
if(LOCK_METHOD STREQUAL "USE_POSIX_SEM" OR LOCK_METHOD STREQUAL "USE_PTHREAD_MUTEX")
|
||||
message(STATUS "Using ${LOCK_METHOD} for locks")
|
||||
target_link_libraries(common INTERFACE pthread)
|
||||
endif()
|
||||
|
|
@ -38,6 +38,5 @@ if(NOT NO_EPOLL)
|
|||
endif()
|
||||
|
||||
if(NOT NO_SIGIO_RT)
|
||||
target_compile_definitions(common INTERFACE HAVE_SIGIO_RT
|
||||
SIGINFO64_WORKAROUND)
|
||||
target_compile_definitions(common INTERFACE HAVE_SIGIO_RT SIGINFO64_WORKAROUND)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ target_compile_definitions(
|
|||
HAVE_MSGHDR_MSG_CONTROL
|
||||
HAVE_CONNECT_ECONNRESET_BUG
|
||||
HAVE_TIMEGM
|
||||
HAVE_IP_MREQN)
|
||||
HAVE_IP_MREQN
|
||||
)
|
||||
|
||||
if(${RAW_SOCKS})
|
||||
target_compile_definitions(common INTERFACE USE_RAW_SOCKS)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@ target_compile_definitions(
|
|||
HAVE_ALLOCA_H
|
||||
HAVE_TIMEGM
|
||||
HAVE_SCHED_SETSCHEDULER
|
||||
HAVE_IP_MREQN)
|
||||
HAVE_IP_MREQN
|
||||
)
|
||||
|
||||
target_link_libraries(common INTERFACE ${CMAKE_DL_LIBS} resolv)
|
||||
target_link_libraries(common_utils INTERFACE resolv)
|
||||
|
|
@ -23,8 +24,7 @@ endif()
|
|||
if(NOT ${USE_FAST_LOCK})
|
||||
target_compile_definitions(common INTERFACE USE_PTHREAD_MUTEX)
|
||||
target_link_libraries(common INTERFACE pthread)
|
||||
message(
|
||||
STATUS "FAST_LOCK not available on this platform, using: USE_PTHREAD_MUTEX")
|
||||
message(STATUS "FAST_LOCK not available on this platform, using: USE_PTHREAD_MUTEX")
|
||||
else()
|
||||
# TODO: Check if this can be reached. Right now it is not possible to set
|
||||
# LOCK_METHOD, only USE_FAST_LOCK. This branch is reached when USE_FAST_LOCK
|
||||
|
|
@ -48,8 +48,7 @@ endif()
|
|||
|
||||
# TODO introduce check for sigio
|
||||
if(NOT NO_SIGIO_RT)
|
||||
target_compile_definitions(common INTERFACE HAVE_SIGIO_RT
|
||||
SIGINFO64_WORKAROUND)
|
||||
target_compile_definitions(common INTERFACE HAVE_SIGIO_RT SIGINFO64_WORKAROUND)
|
||||
endif()
|
||||
|
||||
# TODO introduce check for futex
|
||||
|
|
|
|||
|
|
@ -55,8 +55,7 @@ else()
|
|||
endif()
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/core/autover.h.in"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/core/autover.h"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/core/autover.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/core/autover.h"
|
||||
)
|
||||
|
||||
# -----------------------
|
||||
|
|
@ -70,8 +69,7 @@ if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.20)
|
|||
cmake_policy(SET CMP0118 NEW)
|
||||
else()
|
||||
set_source_files_properties(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/core/lex.yy.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/core/cfg.tab.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/core/lex.yy.c ${CMAKE_CURRENT_BINARY_DIR}/core/cfg.tab.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/core/cfg.tab.h PROPERTIES GENERATED TRUE
|
||||
)
|
||||
endif()
|
||||
|
|
@ -82,13 +80,9 @@ add_executable(kamailio ${CMAKE_CURRENT_SOURCE_DIR}/main.c)
|
|||
add_dependencies(kamailio GenerateParser)
|
||||
# Enable ENABLE_EXPORTS property so modules can link from symbols found in
|
||||
# kamailio executable.
|
||||
set_target_properties(
|
||||
kamailio PROPERTIES ENABLE_EXPORTS TRUE OUTPUT_NAME ${MAIN_NAME}
|
||||
)
|
||||
set_target_properties(kamailio PROPERTIES ENABLE_EXPORTS TRUE OUTPUT_NAME ${MAIN_NAME})
|
||||
|
||||
target_compile_options(
|
||||
kamailio PUBLIC "-ffile-prefix-map=${CMAKE_SOURCE_DIR}/src/="
|
||||
)
|
||||
target_compile_options(kamailio PUBLIC "-ffile-prefix-map=${CMAKE_SOURCE_DIR}/src/=")
|
||||
|
||||
add_subdirectory(core)
|
||||
add_subdirectory(lib)
|
||||
|
|
@ -99,9 +93,8 @@ add_subdirectory(modules)
|
|||
# from their own CMakeLists.txt
|
||||
# Module subdiretory does not contribute to the Kamailio executable.
|
||||
target_sources(
|
||||
kamailio
|
||||
PRIVATE ${kamailio_SRC_FILES} ${CMAKE_CURRENT_BINARY_DIR}/core/lex.yy.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/core/cfg.tab.c
|
||||
kamailio PRIVATE ${kamailio_SRC_FILES} ${CMAKE_CURRENT_BINARY_DIR}/core/lex.yy.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/core/cfg.tab.c
|
||||
)
|
||||
target_include_directories(kamailio PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/core)
|
||||
|
||||
|
|
@ -134,7 +127,8 @@ install(
|
|||
install(
|
||||
FILES ${CMAKE_SOURCE_DIR}/README ${CMAKE_SOURCE_DIR}/INSTALL
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT kamailio-docs)
|
||||
COMPONENT kamailio-docs
|
||||
)
|
||||
|
||||
# ----------
|
||||
# Create and install the man pages for kamailio
|
||||
|
|
@ -148,7 +142,8 @@ add_custom_command(
|
|||
"s#/usr/share/doc/${CFG_NAME}/#${CMAKE_INSTALL_FULL_DOCDIR}/#g" -e
|
||||
"s#${SRC_NAME}#${MAIN_NAME}#g" < ${CMAKE_SOURCE_DIR}/doc/man/kamailio.8 >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.8
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/doc/man/kamailio.8)
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/doc/man/kamailio.8
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.cfg.5
|
||||
|
|
@ -158,12 +153,15 @@ add_custom_command(
|
|||
-e "s#/usr/sbin/#${CMAKE_INSTALL_FULL_SBINDIR}/#g" -e
|
||||
"s#/usr/lib/${CFG_NAME}/#${CMAKE_INSTALL_FULL_LIBDIR}/${MAIN_NAME}/#g" -e
|
||||
"s#/usr/share/doc/${CFG_NAME}/#${CMAKE_INSTALL_FULL_DOCDIR}/#g" -e
|
||||
"s#${SRC_NAME}#${MAIN_NAME}#g" < ${CMAKE_SOURCE_DIR}/doc/man/kamailio.cfg.5
|
||||
> ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.cfg.5
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/doc/man/kamailio.cfg.5)
|
||||
"s#${SRC_NAME}#${MAIN_NAME}#g" < ${CMAKE_SOURCE_DIR}/doc/man/kamailio.cfg.5 >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.cfg.5
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/doc/man/kamailio.cfg.5
|
||||
)
|
||||
|
||||
add_custom_target(man DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.8
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.cfg.5)
|
||||
add_custom_target(
|
||||
man DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.8
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.cfg.5
|
||||
)
|
||||
add_dependencies(man kamctl_man)
|
||||
add_dependencies(man kamcmd_man)
|
||||
# These are the modules man pages if any exist
|
||||
|
|
@ -173,13 +171,15 @@ install(
|
|||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.8
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man8
|
||||
COMPONENT kamailio_man
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.cfg.5
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man5
|
||||
COMPONENT kamailio_man
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
# ----------
|
||||
|
||||
# Install the configuration file (kamailio.cfg) ${CFG_NAME} using a CODE block
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
# This is just for Debugging and print the compile definitions and options
|
||||
# for the common target
|
||||
get_target_property(
|
||||
MY_INTERFACE_DEFINITIONS common INTERFACE_COMPILE_DEFINITIONS
|
||||
)
|
||||
get_target_property(MY_INTERFACE_DEFINITIONS common INTERFACE_COMPILE_DEFINITIONS)
|
||||
message(STATUS "Compile definitions for common: ${MY_INTERFACE_DEFINITIONS}")
|
||||
|
||||
get_target_property(MY_INTERFACE_OPTIONS common INTERFACE_COMPILE_OPTIONS)
|
||||
|
|
@ -23,15 +21,13 @@ add_custom_command(
|
|||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex.yy.c
|
||||
COMMAND ${FLEX_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/lex.yy.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cfg.lex
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/cfg.lex
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.h
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/cfg.lex ${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.h
|
||||
COMMENT "Generating lex.yy.c from cfg.lex"
|
||||
)
|
||||
|
||||
# Generate cfg.tab.c and cfg.tab.h from cfg.y
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.h
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.c ${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.h
|
||||
COMMAND ${BISON_EXECUTABLE} -d -b cfg -o ${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cfg.y
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/cfg.y
|
||||
|
|
@ -41,8 +37,7 @@ add_custom_command(
|
|||
# Add custom target for generating the 3 source files mentioned above
|
||||
add_custom_target(
|
||||
GenerateParser ALL
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/lex.yy.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.c
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/lex.yy.c ${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cfg.tab.h
|
||||
COMMENT "Generating parser source files"
|
||||
)
|
||||
|
|
@ -51,7 +46,8 @@ add_custom_target(
|
|||
|
||||
file(GLOB_RECURSE kamailio_SRC "*.c")
|
||||
list(REMOVE_ITEM kamailio_SRC ${CMAKE_CURRENT_SOURCE_DIR}/cfg.tab.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lex.yy.c)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lex.yy.c
|
||||
)
|
||||
set(kamailio_SRC_FILES
|
||||
${kamailio_SRC}
|
||||
PARENT_SCOPE
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ include(${CMAKE_SOURCE_DIR}/cmake/groups.cmake)
|
|||
set(AVAILABLE_GROUP_NAMES ${AVAILABLE_GROUPS})
|
||||
set(MODULE_GROUP_NAME
|
||||
"DEFAULT"
|
||||
CACHE STRING
|
||||
"Group of modules to build (one or multiple space seperated group)")
|
||||
CACHE STRING "Group of modules to build (one or multiple space seperated group)"
|
||||
)
|
||||
set_property(CACHE MODULE_GROUP_NAME PROPERTY STRINGS ${AVAILABLE_GROUP_NAMES})
|
||||
|
||||
# User may provide multiple groups seperated by space
|
||||
|
|
@ -27,7 +27,8 @@ foreach(group_name IN LISTS MODULE_GROUP_LIST)
|
|||
list(FIND AVAILABLE_GROUP_NAMES "${group_name}" INDEX)
|
||||
if(INDEX EQUAL -1)
|
||||
message(FATAL_ERROR "Invalid module group specified: ${group_name}.
|
||||
Available groups: ${AVAILABLE_GROUPS}")
|
||||
Available groups: ${AVAILABLE_GROUPS}"
|
||||
)
|
||||
else()
|
||||
list(APPEND FULL_MODULE_GROUP_NAMES "MODULE_GROUP_${group_name}")
|
||||
# get_property(MODULE_GROUP VARIABLE PROPERTY "MODULE_GROUP_${GROUP_NAME}")
|
||||
|
|
@ -40,11 +41,13 @@ endforeach()
|
|||
# Allow users to specify extra modules to build
|
||||
set(INCLUDE_MODULES
|
||||
""
|
||||
CACHE STRING "List of extra modules to build (space-separated)")
|
||||
CACHE STRING "List of extra modules to build (space-separated)"
|
||||
)
|
||||
|
||||
set(EXCLUDE_MODULES
|
||||
""
|
||||
CACHE STRING "List of modules to exclude from building (space-separated)")
|
||||
CACHE STRING "List of modules to exclude from building (space-separated)"
|
||||
)
|
||||
|
||||
include(${CMAKE_SOURCE_DIR}/cmake/modules-docs.cmake)
|
||||
|
||||
|
|
@ -54,8 +57,7 @@ function(add_module_group group_modules)
|
|||
# Check if the module has already been added
|
||||
get_property(ALREADY_ADDED GLOBAL PROPERTY ADDED_MODULES_LIST)
|
||||
if("${module_name}" IN_LIST ALREADY_ADDED)
|
||||
message(
|
||||
STATUS "Module ${module_name} has already been added. Skipping...")
|
||||
message(STATUS "Module ${module_name} has already been added. Skipping...")
|
||||
elseif("${module_name}" IN_LIST EXCLUDED_MODULES_LIST)
|
||||
message(STATUS "Module ${module_name} is excluded. Skipping...")
|
||||
list(REMOVE_ITEM ADDED_MODULES_LIST ${module_name})
|
||||
|
|
@ -80,31 +82,30 @@ function(add_module_group group_modules)
|
|||
|
||||
target_link_libraries(${module_name} PRIVATE common_modules)
|
||||
target_compile_definitions(
|
||||
${module_name} PRIVATE MOD_NAMEID=${module_name}
|
||||
MOD_NAME=\"${module_name}\")
|
||||
${module_name} PRIVATE MOD_NAMEID=${module_name} MOD_NAME=\"${module_name}\"
|
||||
)
|
||||
|
||||
target_compile_options(
|
||||
${module_name}
|
||||
PRIVATE
|
||||
"-ffile-prefix-map=${CMAKE_SOURCE_DIR}/src/modules/${module_name}/="
|
||||
PRIVATE "-ffile-prefix-map=${CMAKE_SOURCE_DIR}/src/modules/${module_name}/="
|
||||
)
|
||||
|
||||
# Set the RPATH of the module to include the installation directory of
|
||||
set_target_properties(
|
||||
${module_name} PROPERTIES INSTALL_RPATH
|
||||
"${CMAKE_INSTALL_FULL_LIBDIR}/${MAIN_NAME}")
|
||||
${module_name} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}/${MAIN_NAME}"
|
||||
)
|
||||
|
||||
# Install the module to the appropriate directory under the installation
|
||||
# prefix
|
||||
install(
|
||||
TARGETS ${module_name}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${MAIN_NAME}/modules
|
||||
COMPONENT kamailio_modules)
|
||||
COMPONENT kamailio_modules
|
||||
)
|
||||
# Add the module to the list of added modules
|
||||
set_property(GLOBAL APPEND PROPERTY ADDED_MODULES_LIST ${module_name})
|
||||
docs_add_module(${module_name})
|
||||
set_property(GLOBAL APPEND PROPERTY ALL_MODULE_DOC_TARGETS
|
||||
${module_name}_doc)
|
||||
set_property(GLOBAL APPEND PROPERTY ALL_MODULE_DOC_TARGETS ${module_name}_doc)
|
||||
else()
|
||||
message(FATAL_ERROR "Module directory ${module_path} does not exist.")
|
||||
endif()
|
||||
|
|
@ -116,23 +117,22 @@ endfunction()
|
|||
# dependencies to them.
|
||||
add_custom_target(
|
||||
kamailio_docs_readme
|
||||
COMMENT
|
||||
"Generating modules readme. Note: This will overwrite REAMDEs found in source tree"
|
||||
COMMENT "Generating modules readme. Note: This will overwrite REAMDEs found in source tree"
|
||||
)
|
||||
|
||||
add_custom_target(kamailio_docs_man COMMENT "Generating man pages")
|
||||
|
||||
# Parse and add extra modules specified by the user
|
||||
separate_arguments(INCLUDE_MODULES_LIST UNIX_COMMAND "${INCLUDE_MODULES}")
|
||||
message(
|
||||
STATUS
|
||||
"Extra modules (if module already included already from group is ignored):
|
||||
${INCLUDE_MODULES_LIST}")
|
||||
message(STATUS "Extra modules (if module already included already from group is ignored):
|
||||
${INCLUDE_MODULES_LIST}"
|
||||
)
|
||||
list(APPEND USER_MODULES_LIST ${INCLUDE_MODULES_LIST})
|
||||
|
||||
separate_arguments(EXCLUDED_MODULES_LIST UNIX_COMMAND "${EXCLUDE_MODULES}")
|
||||
message(STATUS "Excluded modules (exlcude even if in included modules):
|
||||
${EXCLUDED_MODULES_LIST}")
|
||||
${EXCLUDED_MODULES_LIST}"
|
||||
)
|
||||
|
||||
# Add each group of modules
|
||||
foreach(group IN LISTS FULL_MODULE_GROUP_NAMES)
|
||||
|
|
@ -158,11 +158,12 @@ get_property(ALL_MODULE_DOC_TARGETS GLOBAL PROPERTY ALL_MODULE_DOC_TARGETS)
|
|||
add_custom_target(
|
||||
kamailio_docs
|
||||
DEPENDS ${ALL_MODULE_DOC_TARGETS}
|
||||
COMMENT "Generating Kamailio documentation")
|
||||
COMMENT "Generating Kamailio documentation"
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
install_kamailio_docs
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component
|
||||
kamailio_docs
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component kamailio_docs
|
||||
DEPENDS kamailio_docs
|
||||
COMMENT "Installing Kamailio documentation")
|
||||
COMMENT "Installing Kamailio documentation"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -84,9 +84,8 @@ list(APPEND PERL_PODFILES ${PERL_PODFILES_PM})
|
|||
# and we don't want to change them.
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/kamailioxs.c
|
||||
COMMAND
|
||||
xsubpp -typemap ${PERL_TYPEMAP} -typemap ${CMAKE_CURRENT_SOURCE_DIR}/typemap
|
||||
kamailioxs.xs > ${CMAKE_CURRENT_SOURCE_DIR}/kamailioxs.c
|
||||
COMMAND xsubpp -typemap ${PERL_TYPEMAP} -typemap ${CMAKE_CURRENT_SOURCE_DIR}/typemap kamailioxs.xs
|
||||
> ${CMAKE_CURRENT_SOURCE_DIR}/kamailioxs.c
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "Generating kamailioxs.c"
|
||||
VERBATIM
|
||||
|
|
@ -96,8 +95,7 @@ add_custom_command(
|
|||
target_sources(${module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/kamailioxs.c)
|
||||
# Add the flag option only for the generated file
|
||||
set_source_files_properties(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kamailioxs.c PROPERTIES COMPILE_OPTIONS
|
||||
-Wno-unused
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kamailioxs.c PROPERTIES COMPILE_OPTIONS -Wno-unused
|
||||
)
|
||||
|
||||
# Doc target
|
||||
|
|
@ -108,16 +106,13 @@ add_custom_target(perlpod)
|
|||
# Requires libpod-2-docbook-perl packages
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/doc/app_perl_pod.sgml
|
||||
COMMAND cat ${PERL_PODFILES} | pod2docbook --doctype=chapter --title='Kamailio
|
||||
Perl API' --no-header - ${CMAKE_CURRENT_BINARY_DIR}/app_perl_pod.sgml
|
||||
COMMAND cat ${PERL_PODFILES} | pod2docbook --doctype=chapter --title='Kamailio Perl API'
|
||||
--no-header - ${CMAKE_CURRENT_BINARY_DIR}/app_perl_pod.sgml
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "Generating app_perl_pod.sgml"
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
${module_name}_pod.sgml
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doc/app_perl_pod.sgml
|
||||
)
|
||||
add_custom_target(${module_name}_pod.sgml DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doc/app_perl_pod.sgml)
|
||||
|
||||
# Install nessecary files
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/perl
|
||||
|
|
|
|||
|
|
@ -27,10 +27,11 @@ install(
|
|||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
||||
endif()
|
||||
"
|
||||
COMPONENT ${module_name}-cfg)
|
||||
COMPONENT ${module_name}-cfg
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
${module_name}-install-cfg
|
||||
COMMENT "Installing auth_radius dictionary.${CFG_NAME} configuration file"
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component
|
||||
${module_name}-cfg)
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component ${module_name}-cfg
|
||||
)
|
||||
|
|
|
|||
|
|
@ -13,5 +13,4 @@ find_package(Ldap REQUIRED)
|
|||
# LDAP_DEPRECATED is required for LDAP support else it will throw compile error
|
||||
target_compile_definitions(${module_name} PRIVATE LDAP_DEPRECATED)
|
||||
target_include_directories(${module_name} PRIVATE ${Ldap_INCLUDE_DIRS})
|
||||
target_link_libraries(${module_name} PRIVATE ${LDAP_LIBRARIES}
|
||||
libsasl2::libsasl2)
|
||||
target_link_libraries(${module_name} PRIVATE ${LDAP_LIBRARIES} libsasl2::libsasl2)
|
||||
|
|
|
|||
|
|
@ -9,6 +9,5 @@ target_link_libraries(${module_name} PRIVATE BerkeleyDB::BerkeleyDB)
|
|||
|
||||
# Build also the util function found in utils/db_berkeley/
|
||||
# This is needed to build the kamdb_recover utility
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/utils/db_berkeley
|
||||
${CMAKE_BINARY_DIR}/utils/db_berkeley)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/utils/db_berkeley ${CMAKE_BINARY_DIR}/utils/db_berkeley)
|
||||
add_dependencies(${module_name} kamdb_recover)
|
||||
|
|
|
|||
|
|
@ -7,5 +7,6 @@ find_package(Threads REQUIRED)
|
|||
|
||||
# TODO: library libval not foud on recent distributions: whichi library is sres?
|
||||
# Consider depreciating this module?
|
||||
target_link_libraries(${module_name} PRIVATE val-threads sres Threads::Threads
|
||||
OpenSSL::SSL OpenSSL::Crypto)
|
||||
target_link_libraries(
|
||||
${module_name} PRIVATE val-threads sres Threads::Threads OpenSSL::SSL OpenSSL::Crypto
|
||||
)
|
||||
|
|
|
|||
|
|
@ -30,5 +30,4 @@ find_package(PkgConfig REQUIRED)
|
|||
pkg_check_modules(UUID REQUIRED IMPORTED_TARGET uuid)
|
||||
add_library(uuid::uuid ALIAS PkgConfig::UUID)
|
||||
|
||||
target_link_libraries(${module_name} PRIVATE json-c::json-c rabbitmq::rabbitmq
|
||||
uuid::uuid)
|
||||
target_link_libraries(${module_name} PRIVATE json-c::json-c rabbitmq::rabbitmq uuid::uuid)
|
||||
|
|
|
|||
|
|
@ -11,5 +11,6 @@ add_library(nghttp2::nghttp2 ALIAS PkgConfig::nghttp2)
|
|||
pkg_check_modules(event REQUIRED IMPORTED_TARGET libevent libevent_openssl)
|
||||
add_library(event::event ALIAS PkgConfig::event)
|
||||
|
||||
target_link_libraries(${module_name} PRIVATE nghttp2::nghttp2 event::event
|
||||
OpenSSL::SSL OpenSSL::Crypto)
|
||||
target_link_libraries(
|
||||
${module_name} PRIVATE nghttp2::nghttp2 event::event OpenSSL::SSL OpenSSL::Crypto
|
||||
)
|
||||
|
|
|
|||
|
|
@ -24,5 +24,6 @@ find_package(CURL REQUIRED)
|
|||
# maintaned anymore - eprecate? -lnsq -levbuffsock
|
||||
|
||||
# TODO: verify if -l is required to avoid linking to itself
|
||||
target_link_libraries(${module_name} PRIVATE json-c::json-c CURL::libcurl
|
||||
Libev::Libev -lnsq evbuffsock)
|
||||
target_link_libraries(
|
||||
${module_name} PRIVATE json-c::json-c CURL::libcurl Libev::Libev -lnsq evbuffsock
|
||||
)
|
||||
|
|
|
|||
|
|
@ -18,12 +18,10 @@ else()
|
|||
|
||||
if(libphonenumber_LIBRARY AND libgeocoding_LIBRARY)
|
||||
set(libphonenum_LIBRARY ${libphonenumber_LIBRARY} ${libgeocoding_LIBRARY})
|
||||
find_path(libphonenumber_INCLUDE_DIR
|
||||
phonenumbers/geocoding/phonenumber_offline_geocoder.h
|
||||
phonenumbers/phonenumberutil.h)
|
||||
message(
|
||||
STATUS
|
||||
"Found libphonenumber include directory: ${libphonenumber_INCLUDE_DIR}")
|
||||
find_path(libphonenumber_INCLUDE_DIR phonenumbers/geocoding/phonenumber_offline_geocoder.h
|
||||
phonenumbers/phonenumberutil.h
|
||||
)
|
||||
message(STATUS "Found libphonenumber include directory: ${libphonenumber_INCLUDE_DIR}")
|
||||
message(STATUS "Found libphonenumber library: ${libphonenum_LIBRARY}")
|
||||
else()
|
||||
message(FATAL_ERROR "libphonenumber library not found")
|
||||
|
|
@ -41,8 +39,8 @@ target_compile_options(
|
|||
$<$<NOT:$<CONFIG:DEBUG>>:-Wno-deprecated>
|
||||
$<$<NOT:$<CONFIG:DEBUG>>:-Wno-unused-function>
|
||||
$<$<NOT:$<CONFIG:DEBUG>>:-Wno-sign-compare>
|
||||
$<$<NOT:$<CONFIG:DEBUG>>:-Wno-strict-aliasing>)
|
||||
$<$<NOT:$<CONFIG:DEBUG>>:-Wno-strict-aliasing>
|
||||
)
|
||||
|
||||
target_include_directories(${module_name}
|
||||
PRIVATE ${libphonenumber_INCLUDE_DIRS})
|
||||
target_include_directories(${module_name} PRIVATE ${libphonenumber_INCLUDE_DIRS})
|
||||
target_link_libraries(${module_name} PRIVATE ${libphonenum_LIBRARY})
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ pkg_check_modules(libruxc REQUIRED IMPORTED_TARGET libruxc)
|
|||
add_library(libruxc::libruxc ALIAS PkgConfig::libruxc)
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(${module_name} PRIVATE "-framework CoreFoundation"
|
||||
"-framework Security")
|
||||
target_link_libraries(${module_name} PRIVATE "-framework CoreFoundation" "-framework Security")
|
||||
endif()
|
||||
target_link_libraries(${module_name} PRIVATE libruxc::libruxc)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ add_library(${module_name} SHARED ${MODULE_SOURCES})
|
|||
find_path(
|
||||
SCTP_INCLUDE_DIR
|
||||
NAMES sctp.h
|
||||
PATHS /usr/include /usr/local/include /usr/include/netinet)
|
||||
PATHS /usr/include /usr/local/include /usr/include/netinet
|
||||
)
|
||||
|
||||
if(NOT SCTP_INCLUDE_DIR)
|
||||
message(FATAL_ERROR "sctp.h not found. maybe missing libsctp-dev?")
|
||||
|
|
@ -18,7 +19,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||
find_library(
|
||||
SCTP_LIBRARY
|
||||
NAMES sctp
|
||||
PATHS /usr/lib /usr/local/lib)
|
||||
PATHS /usr/lib /usr/local/lib
|
||||
)
|
||||
|
||||
target_link_libraries(${module_name} PRIVATE ${SCTP_LIBRARY})
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -9,8 +9,7 @@ pkg_check_modules(secsipid-1 REQUIRED IMPORTED_TARGET secsipid-1)
|
|||
add_library(secsipid ALIAS PkgConfig::secsipid-1)
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(${module_name} PRIVATE "-framework CoreFoundation"
|
||||
"-framework Security")
|
||||
target_link_libraries(${module_name} PRIVATE "-framework CoreFoundation" "-framework Security")
|
||||
endif()
|
||||
|
||||
target_link_libraries(${module_name} PRIVATE secsipid Threads::Threads)
|
||||
|
|
|
|||
|
|
@ -11,4 +11,5 @@ target_link_libraries(${module_name} PRIVATE NETSNMP::NETSNMP)
|
|||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/mibs
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/snmp/
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ add_library(${module_name} SHARED ${MODULE_SOURCES})
|
|||
|
||||
# Options
|
||||
option(LIBSSL_STATIC "Link with static libraries" OFF)
|
||||
option(LIBSSL_STATIC_SRCLIB "Link with static libraries compiled from source"
|
||||
OFF)
|
||||
option(LIBSSL_STATIC_SRCLIB "Link with static libraries compiled from source" OFF)
|
||||
set(LIBSSL_STATIC_SRCPATH
|
||||
"/usr/local/src/openssl"
|
||||
CACHE PATH "Path to the folder with static libraries compiled from source")
|
||||
CACHE PATH "Path to the folder with static libraries compiled from source"
|
||||
)
|
||||
|
||||
# Find packages
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
|
@ -20,8 +20,7 @@ find_package(Threads REQUIRED)
|
|||
if(LIBSSL_STATIC)
|
||||
target_compile_definitions(${module_name} KSR_LIBSSL_STATIC)
|
||||
if(LIBSSL_STATIC_SRCLIB)
|
||||
target_include_directories(${module_name}
|
||||
PRIVATE ${LIBSSL_STATIC_SRCPATH}/include)
|
||||
target_include_directories(${module_name} PRIVATE ${LIBSSL_STATIC_SRCPATH}/include)
|
||||
target_link_directories(${module_name} PRIVATE ${LIBSSL_STATIC_SRCPATH})
|
||||
else()
|
||||
# Static linking with system libraries Note: This assumes the static
|
||||
|
|
@ -29,13 +28,13 @@ if(LIBSSL_STATIC)
|
|||
set(OPENSSL_USE_STATIC_LIBS TRUE)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
# TODO: Check if this is needed: -Wl,-Bstatic
|
||||
target_link_libraries(${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto
|
||||
ZLIB::ZLIB)
|
||||
target_link_libraries(${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB)
|
||||
endif()
|
||||
else()
|
||||
find_package(OpenSSL REQUIRED)
|
||||
target_link_libraries(${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto
|
||||
ZLIB::ZLIB Threads::Threads)
|
||||
target_link_libraries(
|
||||
${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB Threads::Threads
|
||||
)
|
||||
endif()
|
||||
|
||||
# Install the configuration file (tls.cfg) using a CODE block to check
|
||||
|
|
@ -58,7 +57,8 @@ install(
|
|||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
||||
endif()
|
||||
"
|
||||
COMPONENT tls-cfg)
|
||||
COMPONENT tls-cfg
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT tls.cfg.sample
|
||||
|
|
@ -66,7 +66,8 @@ add_custom_command(
|
|||
sed -e "s#\/usr/local/etc/kamailio/#${CMAKE_INSTALL_FULL_SYSCONFDIR}#g" -e
|
||||
"s#kamailio-selfsigned#${MAIN_NAME}-selfsigned#g" < tls.cfg >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tls.cfg.sample
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
# Always build/generate tls.cfg.sample in the build directory
|
||||
# This is needed for the default install target to pick it up
|
||||
|
|
@ -75,7 +76,8 @@ add_custom_target(tls_cfg_sample ALL DEPENDS tls.cfg.sample)
|
|||
add_custom_target(
|
||||
tls-install-cfg
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component tls-cfg
|
||||
COMMENT "Installing tls.cfg.sample to ${MAIN_NAME} config directory")
|
||||
COMMENT "Installing tls.cfg.sample to ${MAIN_NAME} config directory"
|
||||
)
|
||||
add_dependencies(tls-install-cfg tls_cfg_sample)
|
||||
|
||||
# Add tls-cert target
|
||||
|
|
@ -84,4 +86,5 @@ add_custom_target(
|
|||
COMMAND ${CMAKE_COMMAND} -E env MAIN_NAME=${MAIN_NAME} ./tls_cert.sh -d
|
||||
${CMAKE_INSTALL_FULL_SYSCONFDIR}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "Generating self-signed certificates for ${MAIN_NAME}")
|
||||
COMMENT "Generating self-signed certificates for ${MAIN_NAME}"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -12,8 +12,7 @@ find_package(Threads REQUIRED)
|
|||
if(LIBSSL_STATIC)
|
||||
target_compile_definitions(${module_name} KSR_LIBSSL_STATIC)
|
||||
if(LIBSSL_STATIC_SRCLIB)
|
||||
target_include_directories(${module_name}
|
||||
PRIVATE ${LIBSSL_STATIC_SRCPATH}/include)
|
||||
target_include_directories(${module_name} PRIVATE ${LIBSSL_STATIC_SRCPATH}/include)
|
||||
target_link_directories(${module_name} PRIVATE ${LIBSSL_STATIC_SRCPATH})
|
||||
else()
|
||||
# Static linking with system libraries Note: This assumes the static
|
||||
|
|
@ -21,11 +20,11 @@ if(LIBSSL_STATIC)
|
|||
set(OPENSSL_USE_STATIC_LIBS TRUE)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
# TODO: Check if this is needed: -Wl,-Bstatic
|
||||
target_link_libraries(${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto
|
||||
ZLIB::ZLIB)
|
||||
target_link_libraries(${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB)
|
||||
endif()
|
||||
else()
|
||||
find_package(OpenSSL REQUIRED)
|
||||
target_link_libraries(${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto
|
||||
ZLIB::ZLIB Threads::Threads)
|
||||
target_link_libraries(
|
||||
${module_name} PRIVATE OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB Threads::Threads
|
||||
)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -26,10 +26,11 @@ install(
|
|||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
||||
endif()
|
||||
"
|
||||
COMPONENT xhttp_pi-cfg)
|
||||
COMPONENT xhttp_pi-cfg
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
xhttp_pi-install-cfg
|
||||
COMMENT "Installing pi_framework.xml"
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component
|
||||
xhttp_pi-cfg)
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component xhttp_pi-cfg
|
||||
)
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@ file(
|
|||
GLOB children
|
||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
LIST_DIRECTORIES true
|
||||
*)
|
||||
*
|
||||
)
|
||||
|
||||
foreach(child ${children})
|
||||
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${child}
|
||||
AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${child}/CMakeLists.txt)
|
||||
AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${child}/CMakeLists.txt
|
||||
)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/${child})
|
||||
endif()
|
||||
endforeach()
|
||||
|
|
|
|||
|
|
@ -9,4 +9,5 @@ target_link_libraries(kamdb_recover PRIVATE BerkeleyDB::BerkeleyDB)
|
|||
install(
|
||||
TARGETS kamdb_recover
|
||||
DESTINATION ${CMAKE_INSTALL_SBINDIR}
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ set(KAMCMD_UTIL_SRC_NAME "kamcmd")
|
|||
|
||||
set(KAMCMD_CUSTOM_NAME
|
||||
""
|
||||
CACHE STRING "Custom name for the kamcmd util")
|
||||
CACHE STRING "Custom name for the kamcmd util"
|
||||
)
|
||||
|
||||
if(NOT KAMCMD_CUSTOM_NAME)
|
||||
set(NAME "kamcmd") # Hardcoded name if empty
|
||||
|
|
@ -25,15 +26,16 @@ 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_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})
|
||||
${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})
|
||||
|
||||
|
|
@ -44,11 +46,12 @@ add_custom_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" -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" -e
|
||||
"s#${SRC_NAME}#${MAIN_NAME}#g" < ${CMAKE_CURRENT_SOURCE_DIR}/kamcmd.8 >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kamcmd.8
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kamcmd.8)
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kamcmd.8
|
||||
)
|
||||
|
||||
add_custom_target(kamcmd_man DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/kamcmd.8)
|
||||
|
||||
|
|
@ -56,4 +59,5 @@ install(
|
|||
FILES ${CMAKE_CURRENT_BINARY_DIR}/kamcmd.8
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man8
|
||||
COMPONENT kamailio_man
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
|
|
|
|||
|
|
@ -7,8 +7,7 @@ set(LIB_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/${MAIN_NAME}")
|
|||
set(CFG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${MAIN_NAME}")
|
||||
set(SHARE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${MAIN_NAME}")
|
||||
|
||||
set(KAMCTL_BASE_FILES kamctl.base kamctl.ctlbase kamctl.rpcfifo kamctl.ser
|
||||
kamctl.sqlbase)
|
||||
set(KAMCTL_BASE_FILES kamctl.base kamctl.ctlbase kamctl.rpcfifo kamctl.ser kamctl.sqlbase)
|
||||
|
||||
if("db_berkeley" IN_LIST FINAL_MODULES_LIST)
|
||||
set(KAMCTL_DB_FILES ${KAMCTL_DB_FILES} kamctl.db_berkeley)
|
||||
|
|
@ -39,14 +38,15 @@ foreach(file IN LISTS KAMCTL_BASE_FILES KAMCTL_DB_FILES)
|
|||
# Process the file with sed and install it
|
||||
add_custom_command(
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${file}"
|
||||
COMMAND
|
||||
sed -e "s#/usr/local/sbin#${BIN_DIR}#g" <
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${file} > ${CMAKE_CURRENT_BINARY_DIR}/${file}
|
||||
COMMENT "Processed ${file} with sed")
|
||||
COMMAND sed -e "s#/usr/local/sbin#${BIN_DIR}#g" < ${CMAKE_CURRENT_SOURCE_DIR}/${file} >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${file}
|
||||
COMMENT "Processed ${file} with sed"
|
||||
)
|
||||
install(
|
||||
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${file}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${MAIN_NAME}/kamctl
|
||||
COMPONENT kamailio-utils-bin)
|
||||
COMPONENT kamailio-utils-bin
|
||||
)
|
||||
endforeach()
|
||||
|
||||
# Kamctl target to depend on all kamctl files
|
||||
|
|
@ -54,17 +54,18 @@ endforeach()
|
|||
add_custom_target(
|
||||
kamctl ALL
|
||||
COMMAND
|
||||
sed -e "s#/usr/local/sbin#${BIN_DIR}#g" -e
|
||||
"s#/usr/local/lib/kamailio#${LIB_DIR}#g" -e
|
||||
"s#/usr/local/etc/kamailio#${CFG_DIR}#g" <
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kamctl > ${CMAKE_CURRENT_BINARY_DIR}/kamctl
|
||||
sed -e "s#/usr/local/sbin#${BIN_DIR}#g" -e "s#/usr/local/lib/kamailio#${LIB_DIR}#g" -e
|
||||
"s#/usr/local/etc/kamailio#${CFG_DIR}#g" < ${CMAKE_CURRENT_SOURCE_DIR}/kamctl >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kamctl
|
||||
DEPENDS ${KAMCTL_DEPENDENCIES}
|
||||
COMMENT "Build kamctl and its dependencies")
|
||||
COMMENT "Build kamctl and its dependencies"
|
||||
)
|
||||
|
||||
install(
|
||||
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/kamctl
|
||||
DESTINATION ${CMAKE_INSTALL_SBINDIR}
|
||||
COMPONENT kamailio-utils-bin)
|
||||
COMPONENT kamailio-utils-bin
|
||||
)
|
||||
|
||||
# Setup and install kamdbctl stuff
|
||||
set(KAMDBCTL_BASE_FILES kamdbctl.base)
|
||||
|
|
@ -75,7 +76,8 @@ endif()
|
|||
if("db_text" IN_LIST FINAL_MODULES_LIST)
|
||||
set(KAMDBCTL_DB_FILES ${KAMDBCTL_DB_FILES} kamdbctl.dbtext)
|
||||
install(PROGRAMS dbtextdb/dbtextdb.py
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${MAIN_NAME}/kamctl/dbtextdb)
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${MAIN_NAME}/kamctl/dbtextdb
|
||||
)
|
||||
endif()
|
||||
if("db_mysql" IN_LIST FINAL_MODULES_LIST)
|
||||
set(KAMDBCTL_DB_FILES ${KAMDBCTL_DB_FILES} kamdbctl.mysql)
|
||||
|
|
@ -99,31 +101,33 @@ foreach(file IN LISTS KAMDBCTL_BASE_FILES KAMDBCTL_DB_FILES)
|
|||
add_custom_command(
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${file}"
|
||||
COMMAND
|
||||
sed -e "s#/usr/local/sbin#${BIN_DIR}#g" -e
|
||||
"s#/usr/local/etc/kamailio#${CFG_DIR}#g" -e
|
||||
"s#/usr/local/share/kamailio#${SHARE_DIR}#g" <
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${file} > ${CMAKE_CURRENT_BINARY_DIR}/${file}
|
||||
COMMENT "Processed ${file}")
|
||||
sed -e "s#/usr/local/sbin#${BIN_DIR}#g" -e "s#/usr/local/etc/kamailio#${CFG_DIR}#g" -e
|
||||
"s#/usr/local/share/kamailio#${SHARE_DIR}#g" < ${CMAKE_CURRENT_SOURCE_DIR}/${file} >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${file}
|
||||
COMMENT "Processed ${file}"
|
||||
)
|
||||
install(
|
||||
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${file}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${MAIN_NAME}/kamctl
|
||||
COMPONENT kamailio-utils-bin)
|
||||
COMPONENT kamailio-utils-bin
|
||||
)
|
||||
endforeach()
|
||||
|
||||
add_custom_target(
|
||||
kamdbctl ALL
|
||||
COMMAND
|
||||
sed -e "s#/usr/local/sbin#${BIN_DIR}#g" -e
|
||||
"s#/usr/local/lib/kamailio#${LIB_DIR}#g" -e
|
||||
"s#/usr/local/etc/kamailio#${CFG_DIR}#g" <
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kamdbctl > ${CMAKE_CURRENT_BINARY_DIR}/kamdbctl
|
||||
sed -e "s#/usr/local/sbin#${BIN_DIR}#g" -e "s#/usr/local/lib/kamailio#${LIB_DIR}#g" -e
|
||||
"s#/usr/local/etc/kamailio#${CFG_DIR}#g" < ${CMAKE_CURRENT_SOURCE_DIR}/kamdbctl >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kamdbctl
|
||||
DEPENDS ${KAMDB_DEPENDENCIES}
|
||||
COMMENT "Build kamdbctl and its dependencies")
|
||||
COMMENT "Build kamdbctl and its dependencies"
|
||||
)
|
||||
|
||||
install(
|
||||
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/kamdbctl
|
||||
DESTINATION ${CMAKE_INSTALL_SBINDIR}
|
||||
COMPONENT kamailio-utils-bin)
|
||||
COMPONENT kamailio-utils-bin
|
||||
)
|
||||
|
||||
# Install the configuration file (kamctlrc) using a CODE block to check
|
||||
# existence at install time instead of configure time
|
||||
|
|
@ -145,7 +149,8 @@ install(
|
|||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
||||
endif()
|
||||
"
|
||||
COMPONENT kamailio-utils-cfg)
|
||||
COMPONENT kamailio-utils-cfg
|
||||
)
|
||||
|
||||
# Man pages generation and installation
|
||||
add_custom_command(
|
||||
|
|
@ -154,10 +159,11 @@ add_custom_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" <
|
||||
"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}/kamctl.8 > ${CMAKE_CURRENT_BINARY_DIR}/kamctl.8
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kamctl.8)
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kamctl.8
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kamdbctl.8
|
||||
|
|
@ -165,42 +171,42 @@ add_custom_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}/kamdbctl.8 >
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kamdbctl.8
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kamdbctl.8)
|
||||
"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}/kamdbctl.8 > ${CMAKE_CURRENT_BINARY_DIR}/kamdbctl.8
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kamdbctl.8
|
||||
)
|
||||
|
||||
add_custom_target(kamctl_man DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/kamctl.8
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kamdbctl.8)
|
||||
add_custom_target(
|
||||
kamctl_man DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/kamctl.8 ${CMAKE_CURRENT_BINARY_DIR}/kamdbctl.8
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/kamctl.8
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kamdbctl.8
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/kamctl.8 ${CMAKE_CURRENT_BINARY_DIR}/kamdbctl.8
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man8
|
||||
COMPONENT kamailio_man
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
|
||||
# Install targets
|
||||
# Custom target for installing the kamailio-cfg component
|
||||
add_custom_target(
|
||||
install-kamailio-utils-cfg
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component
|
||||
kamailio-utils-cfg
|
||||
COMMENT "Installing kamailio-utils-cfg component")
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component kamailio-utils-cfg
|
||||
COMMENT "Installing kamailio-utils-cfg component"
|
||||
)
|
||||
|
||||
# Custom target for installing the kamailio-utils-bin component
|
||||
add_custom_target(
|
||||
install-kamailio-utils-bin
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component
|
||||
kamailio-utils-bin
|
||||
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component kamailio-utils-bin
|
||||
COMMENT "Installing kamailio-utils-bin component"
|
||||
DEPENDS kamctl kamdbctl)
|
||||
DEPENDS kamctl kamdbctl
|
||||
)
|
||||
|
||||
# Custom target for installing the kamailio-utils component
|
||||
add_custom_target(install-kamailio-utils COMMENT "Installing utils components")
|
||||
add_dependencies(install-kamailio-utils install-kamailio-utils-cfg
|
||||
install-kamailio-utils-bin)
|
||||
add_dependencies(install-kamailio-utils install-kamailio-utils-cfg install-kamailio-utils-bin)
|
||||
|
||||
# ----------
|
||||
|
||||
|
|
@ -216,8 +222,7 @@ find_program(XSLTPROC_EXECUTABLE xsltproc QUIET)
|
|||
if(NOT XSLTPROC_EXECUTABLE)
|
||||
message(STATUS "xsltproc is not found. Skip dbschema target.")
|
||||
else()
|
||||
option(XSLT_VALIDATE, "Enable schema validation during XSL transformations"
|
||||
ON)
|
||||
option(XSLT_VALIDATE, "Enable schema validation during XSL transformations" ON)
|
||||
option(XSLT_VERBOSE, "Enable verbose output for XSL transformations" OFF)
|
||||
|
||||
set(XSLTPROC_FLAGS --xinclude)
|
||||
|
|
@ -245,16 +250,14 @@ else()
|
|||
endforeach()
|
||||
# Output the extracted table names
|
||||
if(VERBOSE)
|
||||
message(
|
||||
STATUS "Extracted Tables for DB schema generation: ${EXTRACTED_TABLES}")
|
||||
message(STATUS "Extracted Tables for DB schema generation: ${EXTRACTED_TABLES}")
|
||||
endif()
|
||||
|
||||
# Function to add a target for each database type prefix with dbschema ie
|
||||
# db_name = redis -> target = dbschema_redis
|
||||
function(add_db_target db_name xsl_file)
|
||||
# Change name for the folder
|
||||
if(db_name STREQUAL "pi_framework_table" OR db_name STREQUAL
|
||||
"pi_framework_mod")
|
||||
if(db_name STREQUAL "pi_framework_table" OR db_name STREQUAL "pi_framework_mod")
|
||||
set(db_name_folder xhttp_pi)
|
||||
else()
|
||||
set(db_name_folder ${db_name})
|
||||
|
|
@ -264,7 +267,8 @@ else()
|
|||
dbschema_${db_name}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${db_name_folder}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Creating schemas for ${db_name}")
|
||||
COMMENT "Creating schemas for ${db_name}"
|
||||
)
|
||||
|
||||
# Loop through each table and add a command for xsltproc
|
||||
foreach(table ${EXTRACTED_TABLES})
|
||||
|
|
@ -272,7 +276,8 @@ else()
|
|||
if(db_name STREQUAL "db_berkeley"
|
||||
OR db_name STREQUAL "db_redis"
|
||||
OR db_name STREQUAL "dbtext"
|
||||
OR db_name STREQUAL "mongodb")
|
||||
OR db_name STREQUAL "mongodb"
|
||||
)
|
||||
set(prefix '')
|
||||
set(folder_suffix "${MAIN_NAME}")
|
||||
else()
|
||||
|
|
@ -284,26 +289,26 @@ else()
|
|||
TARGET dbschema_${db_name}
|
||||
PRE_BUILD
|
||||
COMMAND
|
||||
XML_CATALOG_FILES=${CATALOG} ${XSLTPROC_EXECUTABLE} ${XSLTPROC_FLAGS}
|
||||
--stringparam dir
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${db_name_folder}/${folder_suffix}
|
||||
--stringparam prefix ${prefix} --stringparam db ${db_name} ${xsl_file}
|
||||
"kamailio-${table}.xml"
|
||||
XML_CATALOG_FILES=${CATALOG} ${XSLTPROC_EXECUTABLE} ${XSLTPROC_FLAGS} --stringparam dir
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${db_name_folder}/${folder_suffix} --stringparam prefix
|
||||
${prefix} --stringparam db ${db_name} ${xsl_file} "kamailio-${table}.xml"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/src/lib/srdb1/schema"
|
||||
COMMENT "Processing ${table} for ${db_name}")
|
||||
COMMENT "Processing ${table} for ${db_name}"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
# Before installing, ensure the target is built `dbschema_${db_name}`
|
||||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${db_name_folder}
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/${MAIN_NAME}
|
||||
OPTIONAL)
|
||||
OPTIONAL
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
dbschema_${db_name}_clean
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${db_name_folder}"
|
||||
COMMENT "Cleaning ${db_name} schema files")
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_CURRENT_BINARY_DIR}/${db_name_folder}"
|
||||
COMMENT "Cleaning ${db_name} schema files"
|
||||
)
|
||||
endfunction()
|
||||
|
||||
# Add targets for each database type
|
||||
|
|
@ -315,17 +320,17 @@ else()
|
|||
add_db_target(pi_framework_table "${STYLESHEETS}/pi_framework_table.xsl")
|
||||
add_db_target(pi_framework_mod "${STYLESHEETS}/pi_framework_mod.xsl")
|
||||
add_custom_target(dbschema_xhttp_pi)
|
||||
add_dependencies(dbschema_xhttp_pi dbschema_pi_framework_table
|
||||
dbschema_pi_framework_mod)
|
||||
add_dependencies(dbschema_xhttp_pi dbschema_pi_framework_table dbschema_pi_framework_mod)
|
||||
|
||||
add_custom_target(dbschema_xhttp_pi_clean)
|
||||
add_dependencies(dbschema_xhttp_pi dbschema_pi_framework_table_clean
|
||||
dbschema_pi_framework_mod_clean)
|
||||
add_dependencies(
|
||||
dbschema_xhttp_pi dbschema_pi_framework_table_clean dbschema_pi_framework_mod_clean
|
||||
)
|
||||
|
||||
add_dependencies(dbschema dbschema_pi_framework_table
|
||||
dbschema_pi_framework_mod)
|
||||
add_dependencies(dbschema_clean dbschema_pi_framework_table_clean
|
||||
dbschema_pi_framework_mod_clean)
|
||||
add_dependencies(dbschema dbschema_pi_framework_table dbschema_pi_framework_mod)
|
||||
add_dependencies(
|
||||
dbschema_clean dbschema_pi_framework_table_clean dbschema_pi_framework_mod_clean
|
||||
)
|
||||
endif()
|
||||
if("db_mysql" IN_LIST FINAL_MODULES_LIST)
|
||||
add_db_target(mysql "${STYLESHEETS}/mysql.xsl")
|
||||
|
|
@ -373,12 +378,14 @@ else()
|
|||
bash ${CMAKE_CURRENT_SOURCE_DIR}/generate_version_create_mongo.sh
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mongodb/kamailio/version-create.mongo"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mongodb/kamailio"
|
||||
COMMENT "Creating version-create.mongo from JSON files")
|
||||
COMMENT "Creating version-create.mongo from JSON files"
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/mongodb/kamailio/version-create.mongo
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/${MAIN_NAME}/mongodb/${MAIN_NAME}
|
||||
COMPONENT KMONGODB)
|
||||
COMPONENT KMONGODB
|
||||
)
|
||||
endif()
|
||||
if("db_redis" IN_LIST FINAL_MODULES_LIST)
|
||||
add_db_target(db_redis "${STYLESHEETS}/db_redis.xsl")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue