1cmake_minimum_required (VERSION 3.5) 2project(gatt-client-test) 3 4# pkgconfig required to link cpputest 5find_package(PkgConfig REQUIRED) 6 7# CppuTest 8pkg_check_modules(CPPUTEST REQUIRED CppuTest) 9include_directories(${CPPUTEST_INCLUDE_DIRS}) 10link_directories(${CPPUTEST_LIBRARY_DIRS}) 11link_libraries(${CPPUTEST_LIBRARIES}) 12 13# set include paths 14include_directories(.) 15include_directories(../../src) 16include_directories(../mock) 17include_directories(../../platform/embedded) 18include_directories(../../platform/posix) 19include_directories( ${CMAKE_CURRENT_BINARY_DIR}) 20 21# common files 22set(SOURCES 23 ../../src/btstack_linked_list.c 24 ../../src/btstack_util.c 25 ../../src/hci.c 26 ../../src/hci_cmd.c 27 ../../src/ad_parser.c 28 ../../src/l2cap.c 29 ../../src/l2cap_signaling.c 30 ../../src/btstack_memory.c 31 ../../src/btstack_run_loop.c 32 ../../src/hci_dump.c 33 ../../platform/posix/hci_dump_posix_stdout.c 34 ../../platform/embedded/btstack_run_loop_embedded.c 35) 36 37# Enable ASAN 38add_compile_options( -g -fsanitize=address) 39add_link_options( -fsanitize=address) 40 41# create static lib 42add_library(btstack STATIC ${SOURCES}) 43 44# create targets 45file(GLOB TEST_FILES_CPP "*_test.cpp") 46foreach(TEST_FILE ${TEST_FILES_CPP}) 47 set (SOURCE_FILES ${TEST_FILE}) 48 get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE) 49 message("- " ${TEST_NAME}) 50 add_executable(${TEST_NAME} ${SOURCE_FILES} ) 51 target_link_libraries(${TEST_NAME} btstack) 52endforeach(TEST_FILE) 53