123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- #
- # cmake file that generate build files for freetdm.
- # this automatically includes the tests and also
- # mod_freetdm
- #
- # Arnaldo M Pereira <arnaldo@sangoma.com>
- #
- CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
- PROJECT(freetdm)
- ADD_SUBDIRECTORY(sample)
- ADD_SUBDIRECTORY(mod_freetdm)
- # includes
- SET(freetdm_INCLUDES
- ${PROJECT_SOURCE_DIR}/src/include
- ${PROJECT_SOURCE_DIR}/src/isdn/include
- ${PROJECT_SOURCE_DIR}/src/include/private
- ${PROJECT_SOURCE_DIR}/src/ftmod/ftmod_sangoma_boost
- )
- INCLUDE_DIRECTORIES(${freetdm_INCLUDES})
- LINK_DIRECTORIES(${freetdm_BINARY_DIR})
- # optional includes
- IF(DEFINED SNGSS7)
- SET(freetdm_INCLUDES ${freetdm_INCLUDES} /usr/include/sng_ss7)
- ENDIF(DEFINED SNGSS7)
- IF(DEFINED SNGISDN)
- SET(freetdm_INCLUDES ${freetdm_INCLUDES} /usr/include/sng_isdn)
- ENDIF(DEFINED SNGISDN)
- # definitions / CFLAGS
- ADD_DEFINITIONS(-DFTDM_CONFIG_DIR="/FIXME" -DFTDM_MOD_DIR="/FIXME")
- IF(DEFINED WIN32)
- ADD_DEFINITIONS(-DFREETDM_EXPORTS -DTELETONE_EXPORTS -DMOD_EXPORTS -DDLL_EXPORTS)
- ENDIF(DEFINED WIN32)
- IF(DEFINED SNGISDN)
- SET(freetdm_INCLUDES ${freetdm_INCLUDES} /usr/include/sng_isdn)
- ENDIF(DEFINED SNGISDN)
- # lib sources
- SET(freetdm_SOURCES
- ${PROJECT_SOURCE_DIR}/src/hashtable.c
- ${PROJECT_SOURCE_DIR}/src/hashtable_itr.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_io.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_queue.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_sched.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_call_utils.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_config.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_callerid.c
- ${PROJECT_SOURCE_DIR}/src/fsk.c
- ${PROJECT_SOURCE_DIR}/src/uart.c
- ${PROJECT_SOURCE_DIR}/src/g711.c
- ${PROJECT_SOURCE_DIR}/src/libteletone_detect.c
- ${PROJECT_SOURCE_DIR}/src/libteletone_generate.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_buffer.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_threadmutex.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_dso.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_cpu_monitor.c
- )
- # libfreetdm.so
- ADD_LIBRARY(${PROJECT_NAME} SHARED ${freetdm_SOURCES})
- IF(NOT DEFINED WIN32)
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} m pthread dl)
- ENDIF(NOT DEFINED WIN32)
- REMOVE_DEFINITIONS(-DLL_EXPORTS)
- # tools & tests
- IF(NOT DEFINED WIN32)
- FOREACH(TOOL testtones testpri testr2 testapp testcid)
- ADD_EXECUTABLE(${TOOL} ${PROJECT_SOURCE_DIR}/src/${TOOL}.c)
- TARGET_LINK_LIBRARIES(${TOOL} -l${PROJECT_NAME})
- ADD_DEPENDENCIES(${TOOL} ${PROJECT_NAME})
- ENDFOREACH(TOOL)
- ADD_EXECUTABLE(detect_dtmf
- ${PROJECT_SOURCE_DIR}/src/detect_dtmf.c
- ${PROJECT_SOURCE_DIR}/src/libteletone_detect.c
- )
- TARGET_LINK_LIBRARIES(detect_dtmf ${PROJECT_NAME})
- ADD_DEPENDENCIES(detect_dtmf ${PROJECT_NAME})
- ADD_EXECUTABLE(detect_tones
- ${PROJECT_SOURCE_DIR}/src/detect_tones.c
- ${PROJECT_SOURCE_DIR}/src/libteletone_detect.c
- )
- TARGET_LINK_LIBRARIES(detect_tones ${PROJECT_NAME})
- ADD_DEPENDENCIES(detect_tones ${PROJECT_NAME})
- ADD_EXECUTABLE(testanalog
- ${PROJECT_SOURCE_DIR}/src/testanalog.c
- )
- TARGET_LINK_LIBRARIES(testanalog -l${PROJECT_NAME})
- ADD_DEPENDENCIES(testanalog ${PROJECT_NAME})
- # optional tests/tools
- IF(HAVE_SCTP)
- ADD_EXECUTABLE(testboost src/testboost.c)
- TARGET_LINK_LIBRARIES(testboost ${PROJECT_NAME})
- ENDIF(HAVE_SCTP)
- ELSE(NOT DEFINED WIN32)
- MESSAGE(WARNING "Not building tools/tests on WIN32 yet.")
- ENDIF(NOT DEFINED WIN32)
- #
- # ftmod modules
- #
- SET(ftmod_DIR ${PROJECT_SOURCE_DIR}/src/ftmod)
- IF(DEFINED WIN32)
- SET(ftmod_ADDITIONAL_SOURCES
- ${PROJECT_SOURCE_DIR}/src/ftdm_io.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_config.c
- ${PROJECT_SOURCE_DIR}/src/ftdm_queue.c
- ${PROJECT_SOURCE_DIR}/src/g711.c
- )
- SET(module_list skel analog analog_em)
- ELSE(DEFINED WIN32)
- SET(module_list skel analog analog_em zt)
- ENDIF(DEFINED WIN32)
- # build default modules
- FOREACH(module ${module_list})
- ADD_LIBRARY(ftmod_${module} MODULE ${ftmod_DIR}/ftmod_${module}/ftmod_${module}.c ${ftmod_ADDITIONAL_SOURCES})
- TARGET_LINK_LIBRARIES(ftmod_${module} ${PROJECT_NAME})
- ENDFOREACH(module)
- # build isdn ftmod
- IF(DEFINED BUILD_FTMOD_ISDN)
- SET(ftmod_isdn_SOURCES
- ${PROJECT_SOURCE_DIR}/src/isdn/EuroISDNStateNT.c
- ${PROJECT_SOURCE_DIR}/src/isdn/EuroISDNStateTE.c
- ${PROJECT_SOURCE_DIR}/src/isdn/mfifo.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q921.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q931api.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q931.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q931ie.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q931mes.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q931StateNT.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q931StateTE.c
- ${PROJECT_SOURCE_DIR}/src/isdn/nationalmes.c
- ${PROJECT_SOURCE_DIR}/src/isdn/nationalStateNT.c
- ${PROJECT_SOURCE_DIR}/src/isdn/nationalStateTE.c
- ${PROJECT_SOURCE_DIR}/src/isdn/DMSmes.c
- ${PROJECT_SOURCE_DIR}/src/isdn/DMSStateNT.c
- ${PROJECT_SOURCE_DIR}/src/isdn/DMSStateTE.c
- ${PROJECT_SOURCE_DIR}/src/isdn/5ESSmes.c
- ${PROJECT_SOURCE_DIR}/src/isdn/5ESSStateNT.c
- ${PROJECT_SOURCE_DIR}/src/isdn/5ESSStateTE.c
- ${PROJECT_SOURCE_DIR}/src/isdn/Q932mes.c
- ${ftmod_DIR}/ftmod_isdn/ftmod_isdn.c
- )
- IF(NOT DEFINED WIN32)
- ADD_DEFINITIONS(-D_GNU_SOURCE)
- ENDIF(NOT DEFINED WIN32)
- ADD_LIBRARY(ftmod_isdn MODULE ${ftmod_isdn_SOURCES})
- TARGET_LINK_LIBRARIES(ftmod_isdn ${PROJECT_NAME})
- ENDIF(DEFINED BUILD_FTMOD_ISDN)
- # from now on, optionals
- IF(DEFINED LIBSANGOMA)
- ADD_LIBRARY(ftmod_wanpipe MODULE ${ftmod_DIR}/ftmod_wanpipe/ftmod_wanpipe.c)
- IF(DEFINED WIN32)
- MESSAGE(WARNING "FIXME: look for wanpipe headers on win32")
- ELSE(DEFINED WIN32)
- ADD_DEFINITIONS(-D__LINUX__)
- INCLUDE_DIRECTORIES(/usr/include/wanpipe)
- ENDIF(DEFINED WIN32)
- TARGET_LINK_LIBRARIES(ftmod_wanpipe sangoma ${PROJECT_NAME})
- ENDIF(DEFINED LIBSANGOMA)
- IF(DEFINED HAVE_SCTP)
- ADD_LIBRARY(ftmod_sangoma_boost MODULE
- ${ftmod_DIR}/ftmod_sangoma_boost/sangoma_boost_client.c
- ${ftmod_DIR}/ftmod_sangoma_boost/ftmod_sangoma_boost.c
- )
- TARGET_LINK_LIBRARIES(ftmod_sangoma_boost ${PROJECT_NAME})
- ENDIF(DEFINED HAVE_SCTP)
- IF(DEFINED LIBPRI)
- ADD_LIBRARY(ftmod_libpri MODULE
- ${ftmod_DIR}/ftmod_libpri/libpri_client.c
- ${ftmod_DIR}/ftmod_libpri/ftmod_libpri.c
- )
- TARGET_LINK_LIBRARIES(ftmod_libpri ${PROJECT_NAME})
- ENDIF(DEFINED LIBPRI)
- IF(DEFINED PRITAP)
- ADD_LIBRARY(ftmod_pritap MODULE
- ${ftmod_DIR}/ftmod_pritap/pritap_client.c
- ${ftmod_DIR}/ftmod_pritap/ftmod_pritap.c
- )
- TARGET_LINK_LIBRARIES(ftmod_pritap ${PROJECT_NAME} pri)
- ENDIF(DEFINED PRITAP)
- IF(DEFINED SNGSS7)
- ADD_LIBRARY(ftmod_sangoma_ss7 MODULE
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cntrl.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_timers.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cfg.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_sta.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_sts.c
- ${ftmod_DIR}/ftmod_sangoma_ss7/ftmod_sangoma_ss7_logger.c
- )
- IF(NOT DEFINED WIN32)
- ADD_DEFINITIONS(-D_GNU_SOURCE)
- ENDIF(NOT DEFINED WIN32)
- TARGET_LINK_LIBRARIES(ftmod_sangoma_ss7 ${PROJECT_NAME} sng_ss7)
- ENDIF(DEFINED SNGSS7)
- IF(DEFINED SNGISDN)
- ADD_LIBRARY(ftmod_sangoma_isdn MODULE
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_trace.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c
- ${ftmod_DIR}/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c
- )
- IF(NOT DEFINED WIN32)
- ADD_DEFINITIONS(-D_GNU_SOURCE)
- ENDIF(NOT DEFINED WIN32)
- TARGET_LINK_LIBRARIES(ftmod_sangoma_isdn ${PROJECT_NAME} sng_isdn)
- ENDIF(DEFINED SNGISDN)
- IF(DEFINED OPENR2)
- ADD_LIBRARY(ftmod_r2 MODULE ${ftmod_DIR}/ftmod_r2/ftmod_r2.c)
- TARGET_LINK_LIBRARIES(ftmod_r2 ${PROJECT_NAME} openr2)
- ENDIF(DEFINED OPENR2)
|