Mercurial > hg > freeDiameter
view extensions/app_radgw/CMakeLists.txt @ 254:a857024cb48b
Ported the RADIUS/Diameter translation code from waaad project. Not tested yet. Gateway plugins to come later.
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Wed, 14 Apr 2010 18:30:22 +0900 |
parents | |
children | cb4307a1cd29 |
line wrap: on
line source
# The app_radgw extension PROJECT("RADIUS/Diameter extensible gateway application for freeDiameter" C) # Overwrite the debug level for the extension code if configured OPTION(DEBUG_LEVEL_APP_RADGW "Overwrite debug level for the extension app_radgw if defined" OFF) IF (DEBUG_LEVEL_APP_RADGW) ADD_DEFINITIONS(-DTRACE_LEVEL=${DEBUG_LEVEL_APP_RADGW}) ENDIF (DEBUG_LEVEL_APP_RADGW) ########### Utility library ############# # utility libray for the extension and its plugins # See rgw_common.h for detail SET( RG_COMMON_SRC radius.c md5.c ) SET( RG_COMMON_HEADER rgw_common.h radius.h md5.h hostap_compat.h ) ADD_LIBRARY(rgw_common ${RG_COMMON_SRC}) ########### Main app_radgw extension ############# # Parser files BISON_FILE(rgw_conf.y) FLEX_FILE(rgw_conf.l) SET_SOURCE_FILES_PROPERTIES(lex.rgw_conf.c rgw_conf.tab.c PROPERTIES COMPILE_FLAGS "-I ${CMAKE_CURRENT_SOURCE_DIR}") # List of source files SET( RGW_DEFAULT_SRC rgw_main.c lex.rgw_conf.c rgw_conf.tab.c rgw_conf.tab.h rgw_clients.c rgw_plugins.c rgw_msg.c rgw_servers.c rgw_worker.c ) # Compile these files as a freeDiameter extension. FD_ADD_EXTENSION(app_radgw ${RGW_DEFAULT_SRC} ${RG_COMMON_HEADER}) TARGET_LINK_LIBRARIES(app_radgw rgw_common) ########### Sub extensions ############# # Example of support extension: # OPTION(BUILD_RADIUS_GW_SAMPLE "Build sample sub-extension? (for debug only)" OFF) # IF (BUILD_RADIUS_GW_SAMPLE) # ADD_LIBRARY(sub_sample MODULE ${RG_COMMON_HEADER} sub_sample.c) # TARGET_LINK_LIBRARIES(sub_sample rg_common) # ENDIF (BUILD_RADIUS_GW_SAMPLE) # OPTION(BUILD_SUB_DEBUG "Build debug sub-extension? (display status of RADIUS and Diameter messages)" ON) # IF (BUILD_SUB_DEBUG) # ADD_LIBRARY(sub_debug MODULE ${RG_COMMON_HEADER} sub_debug.c) # TARGET_LINK_LIBRARIES(sub_debug rg_common) # ENDIF (BUILD_SUB_DEBUG) # # OPTION(BUILD_SUB_ECHO_DROP "Build 'echo/drop' sub-extension? (echo or drop specific RADIUS attributes, no Diameter translation)" ON) # IF (BUILD_SUB_ECHO_DROP) # ADD_DEFINITIONS(-DSUB_ECHO_DROP_VERBO=2) # BISON_FILE(sub_echo_drop.y) # FLEX_FILE(sub_echo_drop.l) # SET_SOURCE_FILES_PROPERTIES(lex.sub_echo_drop.c sub_echo_drop.tab.c PROPERTIES COMPILE_FLAGS "-I ${CMAKE_CURRENT_SOURCE_DIR}") # ADD_LIBRARY(sub_echo_drop MODULE ${RG_COMMON_HEADER} # sub_echo_drop.c # sub_echo_drop.h # lex.sub_echo_drop.c # sub_echo_drop.tab.c # sub_echo_drop.tab.h) # TARGET_LINK_LIBRARIES(sub_echo_drop rg_common) # ENDIF (BUILD_SUB_ECHO_DROP) # # OPTION(BUILD_SUB_AUTH "Build RADIUS Authentication & Authorization sub-extension? (RFC2865, RFC3579)" ON) # IF (BUILD_SUB_AUTH) # ADD_DEFINITIONS(-DSUB_AUTH_VERBO=2) # ADD_LIBRARY(sub_auth MODULE ${RG_COMMON_HEADER} sub_auth.c) # TARGET_LINK_LIBRARIES(sub_auth rg_common) # ENDIF (BUILD_SUB_AUTH) # # OPTION(BUILD_SUB_ACCT "Build RADIUS Accounting sub-extension? (RFC2866)" ON) # IF (BUILD_SUB_ACCT) # ADD_DEFINITIONS(-DSUB_ACCT_VERBO=2) # ADD_LIBRARY(sub_acct MODULE ${RG_COMMON_HEADER} sub_acct.c) # TARGET_LINK_LIBRARIES(sub_acct rg_common) # ENDIF (BUILD_SUB_ACCT)