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)
"Welcome to our mercurial repository"