Mercurial > hg > freeDiameter
view extensions/CMakeLists.txt @ 380:6641d6f80cb6
Added test app for Diameter-SIP(client side)
author | Alexandre Westfahl <awestfahl@freediameter.net> |
---|---|
date | Mon, 05 Jul 2010 17:08:51 +0900 |
parents | 5b199400a290 |
children | 8e260030f32c |
line wrap: on
line source
PROJECT("freeDiameter extensions" C) # We want all resulting objects in the same folder SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}) # Use the macro FD_ADD_EXTENSION(name files...) to create an extension # It is equivalent to add_library with the appropriate parameters # and naming conventions (.fdx : FreeDiameter eXtension) MACRO(FD_ADD_EXTENSION EXTNAME) ADD_LIBRARY(${EXTNAME} MODULE ${ARGN}) SET_TARGET_PROPERTIES(${EXTNAME} PROPERTIES PREFIX "" ) SET_TARGET_PROPERTIES(${EXTNAME} PROPERTIES SUFFIX ".fdx" ) ENDMACRO(FD_ADD_EXTENSION) # The extensions include the headers of freeDiameter that contains gnutls objects FIND_PACKAGE(GnuTLS REQUIRED) INCLUDE_DIRECTORIES(${GNUTLS_INCLUDE_DIRS}) find_path(GCRYPT_INCLUDE_DIR NAMES gcrypt.h) If ( NOT GCRYPT_INCLUDE_DIR ) MESSAGE(SEND_ERROR "Unable to find gcrypt.h, please install libgcrypt-dev or equivalent") Endif ( NOT GCRYPT_INCLUDE_DIR ) MARK_AS_ADVANCED(GCRYPT_INCLUDE_DIR) INCLUDE_DIRECTORIES(${GCRYPT_INCLUDE_DIR}) ########################### # Extensions section #### # Diameter applications dictionary OPTION(BUILD_DICT_NASREQ "Build NASREQ (RFC4005) Dictionary definitions?" ON) IF (BUILD_DICT_NASREQ) SUBDIRS(dict_nasreq) ENDIF (BUILD_DICT_NASREQ) OPTION(BUILD_DICT_EAP "Build Diameter EAP (RFC4072) Dictionary definitions?" ON) IF (BUILD_DICT_EAP) SUBDIRS(dict_eap) ENDIF (BUILD_DICT_EAP) OPTION(BUILD_DICT_SIP "Build Diameter SIP (RFC4740) Dictionary definitions?" ON) IF (BUILD_DICT_SIP) SUBDIRS(dict_sip) ENDIF (BUILD_DICT_SIP) #### # Diameter applications OPTION(BUILD_APP_RADGW "Build app_radgw? (one-way RADIUS/Diameter gateway - RADIUS NAS <-> Diameter server)" OFF) IF (BUILD_APP_RADGW) SUBDIRS(app_radgw) ENDIF (BUILD_APP_RADGW) OPTION(BUILD_APP_ACCT "Build app_acct? (simple accounting application that stores accounting records in flat database)" OFF) IF (BUILD_APP_ACCT) SUBDIRS(app_acct) ENDIF (BUILD_APP_ACCT) OPTION(BUILD_APP_SIP "Build app_sip? (Authentication and authorization for Diameter SIP RFC4740)" OFF) IF (BUILD_APP_SIP) SUBDIRS(app_sip) ENDIF (BUILD_APP_SIP) #### # Routing extensions OPTION(BUILD_RT_DEFAULT "Build rt_default? (Configurable routing rules for freeDiameter)" ON) IF (BUILD_RT_DEFAULT) SUBDIRS(rt_default) ENDIF (BUILD_RT_DEFAULT) #### # Peers security extensions OPTION(BUILD_ACL_WL "Build acl_wl? (White-list of remote connecting peers)" ON) IF (BUILD_ACL_WL) SUBDIRS(acl_wl) ENDIF (BUILD_ACL_WL) #### # Debug & test extensions OPTION(BUILD_DBG_MONITOR "Build dbg_monitor.fdx? (display periodical debug information on the console)" OFF) IF (BUILD_DBG_MONITOR) SUBDIRS(dbg_monitor) ENDIF (BUILD_DBG_MONITOR) OPTION(BUILD_DBG_RT "Build dbg_rt.fdx? (Routing extension for debugging the routing module)" OFF) IF (BUILD_DBG_RT) SUBDIRS(dbg_rt) ENDIF (BUILD_DBG_RT) OPTION(BUILD_TEST_APP "Build test_app.fdx? (Testing application to send dummy message to another peer, for testing purpose only)" OFF) IF (BUILD_TEST_APP) SUBDIRS(test_app) ENDIF (BUILD_TEST_APP) OPTION(BUILD_TEST_APP "Build test_sip.fdx? (Testing application to simulate Diameter-SIP client (RFC4740), for testing purpose only)" OFF) IF (BUILD_TEST_SIP) SUBDIRS(test_sip) ENDIF (BUILD_TEST_SIP) # The following extension have very little use except for specific tests, so we disable them except in Debug configurations. IF (CMAKE_BUILD_TYPE MATCHES "Debug") OPTION(BUILD_SAMPLE "Build sample.fdx? (Simple extension to demonstrate extension mechanism, for developpers only)" OFF) IF (BUILD_SAMPLE) SUBDIRS(_sample) ENDIF (BUILD_SAMPLE) OPTION(BUILD_TEST_ACCT "Build test_acct.fdx? (Receive Accounting-Requests and display the data, but no storage)" OFF) IF (BUILD_TEST_ACCT) SUBDIRS(test_acct) ENDIF (BUILD_TEST_ACCT) OPTION(BUILD_TEST_RT_ANY "Build test_rt_any.fdx? (Routing extension randomly sending message to any peer available, for testing purpose only)" OFF) IF (BUILD_TEST_RT_ANY) SUBDIRS(test_rt_any) ENDIF (BUILD_TEST_RT_ANY) ENDIF (CMAKE_BUILD_TYPE MATCHES "Debug")