1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
# CMakeLists.txt, for utils/iaxclient/lib - 20130925
# even if we don't select the codec, speex is used for pre-processing audio
set(ENABLE_SPEXX 1)
set(IAXCLIENT_BASE_SOURCES
audio_encode.c
audio_file.c
audio_openal.c
codec_alaw.c
codec_gsm.c
codec_ulaw.c
iaxclient_lib.c
)
set(LIBIAX2_SOURCES
libiax2/src/iax.c
libiax2/src/iax2-parser.c
libiax2/src/jitterbuf.c
libiax2/src/md5.c
)
if (SYSTEM_GSM)
set(Gsm_FIND_REQUIRED TRUE)
find_package(Gsm)
endif(SYSTEM_GSM)
if (GSM_FOUND)
include_directories(${GSM_INCLUDE_DIR})
message(STATUS "Using GSM includes at: ${GSM_INCLUDE_DIR}")
message(STATUS "Using GSM libraries: ${GSM_LIBRARIES}")
else(GSM_FOUND)
set(GSM_SOURCES
gsm/src/add.c
gsm/src/code.c
gsm/src/debug.c
gsm/src/decode.c
gsm/src/gsm_create.c
gsm/src/gsm_decode.c
gsm/src/gsm_destroy.c
gsm/src/gsm_encode.c
gsm/src/gsm_explode.c
gsm/src/gsm_implode.c
gsm/src/gsm_option.c
gsm/src/gsm_print.c
gsm/src/long_term.c
gsm/src/lpc.c
gsm/src/preprocess.c
gsm/src/rpe.c
gsm/src/short_term.c
gsm/src/table.c
)
endif(GSM_FOUND)
if (WIN32)
list(APPEND IAXCLIENT_BASE_SOURCES winfuncs.c)
else()
list(APPEND IAXCLIENT_BASE_SOURCES unixfuncs.c)
endif(WIN32)
if (ENABLE_SPEXX)
list(APPEND IAXCLIENT_BASE_SOURCES codec_speex.c)
if (SYSTEM_SPEEX)
set(Speex_FIND_REQUIRED TRUE)
set(Speexdsp_FIND_REQUIRED TRUE)
find_package(Speex)
find_package(Speexdsp)
endif(SYSTEM_SPEEX)
if (SPEEX_FOUND AND SPEEXDSP_FOUND)
include_directories(${SPEEX_INCLUDE_DIR} ${SPEEXDSP_INCLUDE_DIR})
message(STATUS "Using speex includes at: ${SPEEX_INCLUDE_DIR}")
message(STATUS "Using speex libraries: ${SPEEX_LIBRARIES}")
message(STATUS "Using speex extended library includes at: ${SPEEXDSP_INCLUDE_DIR}")
message(STATUS "Using speex extended library libraries: ${SPEEXDSP_LIBRARIES}")
else(SPEEX_FOUND AND SPEEXDSP_FOUND)
set(SPEEX_SOURCES
libspeex/bits.c
libspeex/cb_search.c
libspeex/exc_10_16_table.c
libspeex/exc_10_32_table.c
libspeex/exc_20_32_table.c
libspeex/exc_5_256_table.c
libspeex/exc_5_64_table.c
libspeex/exc_8_128_table.c
libspeex/filters.c
libspeex/gain_table.c
libspeex/gain_table_lbr.c
libspeex/hexc_10_32_table.c
libspeex/hexc_table.c
libspeex/high_lsp_tables.c
libspeex/jitter.c
libspeex/lbr_48k_tables.c
libspeex/lpc.c
libspeex/lsp.c
libspeex/lsp_tables_nb.c
libspeex/ltp.c
libspeex/math_approx.c
libspeex/mdf.c
libspeex/medfilter.c
libspeex/misc.c
libspeex/modes.c
libspeex/nb_celp.c
libspeex/preprocess.c
libspeex/quant_lsp.c
libspeex/sb_celp.c
libspeex/smallft.c
libspeex/speex.c
libspeex/speex_callbacks.c
libspeex/speex_header.c
libspeex/stereo.c
libspeex/vbr.c
libspeex/vq.c
)
include_directories(${PROJECT_SOURCE_DIR}/3rdparty/iaxclient/lib/libspeex/include)
endif(SPEEX_FOUND AND SPEEXDSP_FOUND)
endif(ENABLE_SPEXX)
if (ENABLE_ALSA)
list(APPEND IAXCLIENT_BASE_SOURCES audio_alsa.c)
endif(ENABLE_ALSA)
if (ENABLE_PORTAUDIO)
list(APPEND IAXCLIENT_BASE_SOURCES audio_portaudio.c)
endif(ENABLE_PORTAUDIO)
if (APPLE)
add_definitions(-DMACOSX)
endif(APPLE)
list(APPEND IAXCLIENT_BASE_SOURCES spandsp/plc.c)
add_definitions(-DAUDIO_OPENAL=1)
add_definitions(-DLIBIAX)
# for GSM
add_definitions(-DHAS_STRING_H -DHAS_STDLIB_H)
add_definitions(-DCODEC_GSM)
if (MSVC)
# turn off various warnings
set(WFLAGS)
foreach(warning 4244 4305 4996)
set(WFLAGS "${WFLAGS} /wd${warning}")
endforeach()
add_definitions(${WFLAGS})
endif ()
add_definitions( -DHAVE_CONFIG_H ) # to use fgfs config.h to get FG version, if needed
add_definitions( -DLIBVER="SVN 261" ) # add an iaxclient_lib version string
include_directories(${PROJECT_SOURCE_DIR}/3rdparty/iaxclient/lib)
include_directories(${PROJECT_SOURCE_DIR}/3rdparty/iaxclient/lib/libiax2/src)
include_directories(${PROJECT_SOURCE_DIR}/3rdparty/iaxclient/lib/gsm/inc)
add_library(iaxclient_lib STATIC
${IAXCLIENT_BASE_SOURCES}
${GSM_SOURCES}
${SPEEX_SOURCES}
${LIBIAX2_SOURCES})
target_link_libraries(iaxclient_lib ${CMAKE_THREAD_LIBS_INIT} ${SPEEX_LIBRARIES} ${SPEEXDSP_LIBRARIES} ${GSM_LIBRARIES})
# eof
|