view extensions/radius_gw/CMakeLists.txt @ 375:52b7e13cb1e7

Added a quick and dirty debug subextension
author Sebastien Decugis <sdecugis@nict.go.jp>
date Tue, 26 May 2009 15:45:03 +0900
parents 883330e610e1
children 03b512313cc1
line wrap: on
line source

# The rt_default extension
PROJECT("RADIUS/Diameter extensible gateway extension for waaad" C)


########### Utility library #############
# utilities libray for both the main extension and the sub extensions
# See rg_common.h for detail

INCLUDE (TestBigEndian)
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/rg_host.h.in ${CMAKE_CURRENT_BINARY_DIR}/rg_host.h)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})

SET(RG_COMMON_SRC
	rg_utils.c
	radius.c
	md5.c
)
SET( RG_COMMON_HEADER
	rg_common.h
	rg_host.h
	rg_api.h
	radius.h
	md5.h
)	
ADD_DEFINITIONS(-DRG_COMMON_VERBO=2)
ADD_LIBRARY(rg_common ${RG_COMMON_SRC})

########### Main radius_gw extension #############

# Parser files
BISON_FILE(radius_gw.y)
FLEX_FILE(radius_gw.l)
SET_SOURCE_FILES_PROPERTIES(lex.radius_gw.c radius_gw.tab.c PROPERTIES COMPILE_FLAGS "-I ${CMAKE_CURRENT_SOURCE_DIR}")

# List of source files
SET( RGW_DEFAULT_SRC
	radius_gw.c
	lex.radius_gw.c
	radius_gw.tab.c
	radius_gw.tab.h
	rgw_clients.c
	rgw_extensions.c
	rgw_msg.c
	rgw_servers.c
	rgw_work.c
)


# Compile these files as a module
ADD_LIBRARY(radius_gw MODULE ${RGW_DEFAULT_SRC} ${RG_COMMON_HEADER})
TARGET_LINK_LIBRARIES(radius_gw rg_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_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_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)
"Welcome to our mercurial repository"