]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/speexdsp/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / speexdsp / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.1)
2 option(USE_SSE "Use SSE" OFF)
3 option(USE_NEON "Use NEON" OFF)
4 option(FIXED_POINT "Use Fixed Point Arithmetic" OFF)
5
6 set(LIBSPEEXDSP_VERSION "1.2.0")
7 set(LIBSPEEXDSP_SOVERSION "1")
8 project(libspeexdsp)
9
10 set(LIBSPEEXDSP_SOURCES
11 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/buffer.c"
12 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/fftwrap.c"
13 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/filterbank.c"
14 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/jitter.c"
15 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/mdf.c"
16 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/preprocess.c"
17 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/resample.c"
18 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/scal.c"
19 )
20 set(LIBSPEEXDSP_HEADERS
21 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/arch.h"
22 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/bfin.h"
23 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/fftwrap.h"
24 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/filterbank.h"
25 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/fixed_arm4.h"
26 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/fixed_arm5e.h"
27 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/fixed_bfin.h"
28 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/fixed_debug.h"
29 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/fixed_generic.h"
30 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/math_approx.h"
31 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/misc_bfin.h"
32 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/os_support.h"
33 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/pseudofloat.h"
34 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/resample_neon.h"
35 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/resample_sse.h"
36 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/smallft.h"
37 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/stack_alloc.h"
38 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/vorbis_psy.h"
39 "${CMAKE_CURRENT_LIST_DIR}/include/speex/speex_buffer.h"
40 )
41 set(LIBSPEEXDSP_HEADERS_PUBLIC
42 "${CMAKE_CURRENT_LIST_DIR}/include/speex/speex_echo.h"
43 "${CMAKE_CURRENT_LIST_DIR}/include/speex/speex_jitter.h"
44 "${CMAKE_CURRENT_LIST_DIR}/include/speex/speex_preprocess.h"
45 "${CMAKE_CURRENT_LIST_DIR}/include/speex/speex_resampler.h"
46 "${CMAKE_CURRENT_LIST_DIR}/include/speex/speexdsp_types.h"
47 )
48
49 set(CMAKE_C_VISIBILITY_PRESET hidden)
50 if (NOT BUILD_SHARED_LIBS)
51 add_definitions("-DEXPORT=")
52 elseif(WIN32)
53 add_definitions("-DEXPORT=")
54 list(APPEND LIBSPEEXDSP_SOURCES "${CMAKE_CURRENT_LIST_DIR}/win32/libspeexdsp.def")
55 else()
56 add_definitions("-DEXPORT=__attribute__((visibility(\"default\")))")
57 endif()
58
59 if (USE_SSE AND NOT FIXED_POINT)
60 add_definitions(-DUSE_SSE -DUSE_SSE2)
61 endif()
62 if (USE_NEON AND NOT MSVC)
63 add_definitions(-DUSE_NEON)
64 endif()
65
66 if (FIXED_POINT)
67 add_definitions(-DFIXED_POINT -DUSE_KISS_FFT)
68 list(APPEND LIBSPEEXDSP_SOURCES
69 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/kiss_fft.c"
70 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/kiss_fftr.c"
71 )
72 list(APPEND LIBSPEEXDSP_HEADERS
73 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/_kiss_fft_guts.h"
74 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/kiss_fft.h"
75 "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/kiss_fftr.h"
76 )
77 else()
78 add_definitions(-DFLOATING_POINT -DUSE_SMALLFT)
79 list(APPEND LIBSPEEXDSP_SOURCES "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/smallft.c")
80 endif()
81
82 if (NOT MSVC)
83 add_definitions(-DVAR_ARRAYS)
84 endif()
85
86 # Basic speexdsp_config_types.h for Linux support
87 set(INCLUDE_STDINT "#include <stdint.h>")
88 set(SIZE16 "int16_t")
89 set(USIZE16 "uint16_t")
90 set(SIZE32 "int32_t")
91 set(USIZE32 "uint32_t")
92 configure_file("${CMAKE_CURRENT_LIST_DIR}/include/speex/speexdsp_config_types.h.in"
93 "${CMAKE_CURRENT_BINARY_DIR}/speexdsp_config_types.h" @ONLY)
94 list(APPEND LIBSPEEXDSP_HEADERS_PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/speexdsp_config_types.h")
95
96 include_directories("${CMAKE_CURRENT_LIST_DIR}/include")
97 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
98
99 add_library(speexdsp ${LIBSPEEXDSP_SOURCES} ${LIBSPEEXDSP_HEADERS})
100 set_target_properties(speexdsp PROPERTIES PUBLIC_HEADER "${LIBSPEEXDSP_HEADERS_PUBLIC}")
101 set_target_properties(speexdsp PROPERTIES VERSION "${LIBSPEEXDSP_VERSION}")
102 set_target_properties(speexdsp PROPERTIES SOVERSION "${LIBSPEEXDSP_SOVERSION}")
103
104 # pkgconfig file
105 set(prefix "${CMAKE_INSTALL_PREFIX}")
106 set(exec_prefix \${prefix})
107 SET(bindir \${exec_prefix}/${CMAKE_INSTALL_BINDIR})
108 SET(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR})
109 SET(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR})
110 if(CMAKE_SYSTEM_NAME MATCHES BSD)
111 set(PKG_CONFIG_RPATH "-Wl,-R\${libdir}")
112 endif(CMAKE_SYSTEM_NAME MATCHES BSD)
113 set(PACKAGE_VERSION "${LIBSPEEXDSP_VERSION}")
114 configure_file(speexdsp.pc.in speexdsp.pc @ONLY)
115 install(FILES ${PROJECT_BINARY_DIR}/speexdsp.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
116
117 install(TARGETS speexdsp
118 ARCHIVE DESTINATION "lib"
119 RUNTIME DESTINATION "bin"
120 PUBLIC_HEADER DESTINATION "include/speex")