xref: /btstack/test/lc3/CMakeLists.txt (revision a64cbea79fa5fb9daa58e135a19c6cce10f3e642)
1cmake_minimum_required (VERSION 3.12)
2project(BTstack-Test-LC3)
3set (CMAKE_CXX_STANDARD 11)
4
5# find pkgconfig
6find_package(PkgConfig REQUIRED)
7
8# portaudio
9pkg_check_modules(PORTAUDIO portaudio-2.0)
10if(PORTAUDIO_FOUND)
11    include_directories(${PORTAUDIO_INCLUDE_DIRS})
12    link_directories(${PORTAUDIO_LIBRARY_DIRS})
13    link_libraries(${PORTAUDIO_LIBRARIES})
14    add_compile_definitions(HAVE_PORTAUDIO)
15endif()
16
17# local dir for btstack_config.h after build dir to avoid using .h from Makefile
18include_directories(.)
19
20include_directories(../../3rd-party/kissfft)
21include_directories(../../3rd-party/liblc3codec)
22include_directories(../../3rd-party/tinydir)
23include_directories(../../src)
24include_directories(../../platform/posix)
25
26include_directories(../../3rd-party/liblc3codec/Api)
27include_directories(../../3rd-party/liblc3codec/Common)
28include_directories(../../3rd-party/liblc3codec/Common/KissFft)
29include_directories(../../3rd-party/liblc3codec/Common/Tables)
30include_directories(../../3rd-party/liblc3codec/TestSupport)
31
32file(GLOB SOURCES_POSIX     "../../platform/posix/*.c")
33file(GLOB SOURCES_SRC       "../../src/*.c" "../../src/*.cpp")
34file(GLOB LC3_COMMON        "../../3rd-party/liblc3codec/Common/*.cpp")
35file(GLOB LC3_TABLES        "../../3rd-party/liblc3codec/Common/Tables/*.cpp")
36file(GLOB LC3_DECODER       "../../3rd-party/liblc3codec/Decoder/*.cpp")
37file(GLOB LC3_ENCODER       "../../3rd-party/liblc3codec/Encoder/*.cpp")
38
39set (SOURCES_LC3 ${LC3_COMMON} ${LC3_TABLES} ${LC3_DECODER} ${LC3_ENCODER} ${LC3_TESTSUPPORT})
40
41# Enable ASAN
42add_compile_options( -g -fsanitize=address)
43add_link_options(       -fsanitize=address)
44
45# create targets
46file(GLOB EXAMPLES "lc3_*.c")
47foreach(EXAMPLE_FILE ${EXAMPLES})
48	get_filename_component(EXAMPLE ${EXAMPLE_FILE} NAME_WE)
49	set (SOURCE_FILES ${SOURCES_POSIX} ${SOURCES_SRC} ${SOURCES_LC3} ${EXAMPLE_FILE})
50	message("Tool: ${EXAMPLE}")
51	add_executable(${EXAMPLE} ${SOURCE_FILES} )
52endforeach(EXAMPLE_FILE)
53