1*af7c3ae6SMatthias Ringwaldcmake_minimum_required (VERSION 3.5) 2*af7c3ae6SMatthias Ringwaldproject(gatt-client-test) 3*af7c3ae6SMatthias Ringwald 4*af7c3ae6SMatthias Ringwald# add CppUTest 5*af7c3ae6SMatthias Ringwaldinclude_directories("/usr/local/include") 6*af7c3ae6SMatthias Ringwaldlink_directories("/usr/local/lib") 7*af7c3ae6SMatthias Ringwaldlink_libraries( CppUTest ) 8*af7c3ae6SMatthias Ringwaldlink_libraries( CppUTestExt ) 9*af7c3ae6SMatthias Ringwald 10*af7c3ae6SMatthias Ringwald# set include paths 11*af7c3ae6SMatthias Ringwaldinclude_directories(.) 12*af7c3ae6SMatthias Ringwaldinclude_directories(../../src) 13*af7c3ae6SMatthias Ringwaldinclude_directories(../mock) 14*af7c3ae6SMatthias Ringwaldinclude_directories(../../platform/embedded) 15*af7c3ae6SMatthias Ringwaldinclude_directories(../../platform/posix) 16*af7c3ae6SMatthias Ringwaldinclude_directories( ${CMAKE_CURRENT_BINARY_DIR}) 17*af7c3ae6SMatthias Ringwald 18*af7c3ae6SMatthias Ringwald# common files 19*af7c3ae6SMatthias Ringwaldset(SOURCES 20*af7c3ae6SMatthias Ringwald ../../src/btstack_linked_list.c 21*af7c3ae6SMatthias Ringwald ../../src/btstack_util.c 22*af7c3ae6SMatthias Ringwald ../../src/hci.c 23*af7c3ae6SMatthias Ringwald ../../src/hci_cmd.c 24*af7c3ae6SMatthias Ringwald ../../src/ad_parser.c 25*af7c3ae6SMatthias Ringwald ../../src/l2cap.c 26*af7c3ae6SMatthias Ringwald ../../src/l2cap_signaling.c 27*af7c3ae6SMatthias Ringwald ../../src/btstack_memory.c 28*af7c3ae6SMatthias Ringwald ../../src/btstack_run_loop.c 29*af7c3ae6SMatthias Ringwald ../../src/hci_dump.c 30*af7c3ae6SMatthias Ringwald ../../platform/posix/hci_dump_posix_stdout.c 31*af7c3ae6SMatthias Ringwald ../../platform/embedded/btstack_run_loop_embedded.c 32*af7c3ae6SMatthias Ringwald) 33*af7c3ae6SMatthias Ringwald 34*af7c3ae6SMatthias Ringwald# Enable ASAN 35*af7c3ae6SMatthias Ringwaldadd_compile_options( -g -fsanitize=address) 36*af7c3ae6SMatthias Ringwaldadd_link_options( -fsanitize=address) 37*af7c3ae6SMatthias Ringwald 38*af7c3ae6SMatthias Ringwald# create static lib 39*af7c3ae6SMatthias Ringwaldadd_library(btstack STATIC ${SOURCES}) 40*af7c3ae6SMatthias Ringwald 41*af7c3ae6SMatthias Ringwald# create targets 42*af7c3ae6SMatthias Ringwaldfile(GLOB TEST_FILES_CPP "*_test.cpp") 43*af7c3ae6SMatthias Ringwaldforeach(TEST_FILE ${TEST_FILES_CPP}) 44*af7c3ae6SMatthias Ringwald # Use C++ Compiler 45*af7c3ae6SMatthias Ringwald # set_source_files_properties(${TEST_FILE} PROPERTIES LANGUAGE CXX ) 46*af7c3ae6SMatthias Ringwald set (SOURCE_FILES ${TEST_FILE}) 47*af7c3ae6SMatthias Ringwald get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE) 48*af7c3ae6SMatthias Ringwald message("- " ${TEST_NAME}) 49*af7c3ae6SMatthias Ringwald add_executable(${TEST_NAME} ${SOURCE_FILES} ) 50*af7c3ae6SMatthias Ringwald target_link_libraries(${TEST_NAME} btstack) 51*af7c3ae6SMatthias Ringwaldendforeach(TEST_FILE) 52