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