mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.8 KiB
54 lines
1.8 KiB
find_package(PkgConfig)
|
|
|
|
# TODO: Discuss if other libraries are still used
|
|
# - radiusclient library (probaly yes)
|
|
# - radiusclient-ng library (probaly not)
|
|
# Old makefile just defined the compile definitions whithout checking for
|
|
# the library.
|
|
# Modern cmake should check for the library and define the compile
|
|
# definitions if the library is found.
|
|
# Latest OS (Ubuntu) only offer radcli from package managemnt
|
|
|
|
# Mutually exclusive options
|
|
|
|
set(RADIUSCLIENTS FREERADIUS RADCLI RADIUSCLIENT_NG)
|
|
set(RADIUSCLIENT
|
|
RADCLI
|
|
CACHE STRING "Radius Client to use")
|
|
set_property(CACHE RADIUSCLIENT PROPERTY STRINGS ${RADIUSCLIENTS})
|
|
|
|
# option(FREERADIUS "Use freeradius-client library" OFF)
|
|
# option(RADCLI "Use radcli library" ON)
|
|
# option(RADIUSCLIENT_NG "Use radiusclient-ng library" OFF)
|
|
|
|
# if(FREERADIUS AND RADCLI)
|
|
# message(FATAL_ERROR "Only one of FREERADIUS or RADCLI can be enabled")
|
|
# endif()
|
|
|
|
# Verify that the user-defined RADIUSCLIENT is valid
|
|
if(NOT RADIUSCLIENT IN_LIST RADIUSCLIENTS)
|
|
message(
|
|
FATAL_ERROR
|
|
"Invalid RADIUSCLIENT specified: ${RADIUSCLIENT}. Available options are: ${RADIUSCLIENTS}."
|
|
)
|
|
endif()
|
|
|
|
if(${RADIUSCLIENT} STREQUAL "FREERADIUS")
|
|
# - freeradius-client library
|
|
set(RADIUSCLIENT_LIB USE_FREERADIUS)
|
|
find_package(LibfreeradiusClient REQUIRED)
|
|
add_library(RadiusClient::RadiusClient ALIAS
|
|
LibfreeradiusClient::LIBFREERADIUS)
|
|
elseif(${RADIUSCLIENT} STREQUAL "RADCLI")
|
|
# - radcli library
|
|
set(RADIUSCLIENT_LIB USE_RADCLI)
|
|
pkg_check_modules(RADIUS REQUIRED IMPORTED_TARGET radcli)
|
|
add_library(RadiusClient::RadiusClient ALIAS PkgConfig::RADIUS)
|
|
# Check for radiusclient-ng version
|
|
# elseif(NOT radiusclient_ng STREQUAL "4")
|
|
# # - radiusclient-ng v5 or v4 library
|
|
# set(RADIUSCLIENT_LIB "radiusclient-ng")
|
|
# Uncomment if needed
|
|
# target_compile_definitions(MyModule PRIVATE RADIUSCLIENT_NG_5P)
|
|
endif()
|