File: CMakeLists.txt

package info (click to toggle)
flightgear 3.0.0-5%2Bdeb8u3
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 39,804 kB
  • sloc: cpp: 185,015; ansic: 158,755; sh: 9,807; perl: 4,475; python: 2,218; asm: 642; java: 314; makefile: 289; ruby: 120; xml: 85
file content (165 lines) | stat: -rw-r--r-- 4,795 bytes parent folder | download | duplicates (2)
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