1cmake_minimum_required (VERSION 3.5) 2project(gatt_server) 3 4# pkgconfig 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 13include_directories(.) 14include_directories(../mock/) 15include_directories(../../src) 16include_directories(../../3rd-party/rijndael/) 17include_directories(../../3rd-party/micro-ecc/) 18include_directories(../../platform/posix/) 19include_directories( ${CMAKE_CURRENT_BINARY_DIR}) 20 21set(SOURCES 22 ../mock/mock_btstack_tlv.c 23 ../../3rd-party/rijndael/rijndael.c 24 ../../3rd-party/micro-ecc/uECC.c 25 ../../src/ad_parser.c 26 ../../src/ble/att_db.c 27 ../../src/ble/att_db_util.c 28 ../../src/ble/att_server.c 29 ../../src/ble/gatt-service/battery_service_server.c 30 ../../src/ble/gatt-service/cycling_power_service_server.c 31 ../../src/ble/gatt-service/cycling_speed_and_cadence_service_server.c 32 ../../src/ble/gatt-service/device_information_service_server.c 33 ../../src/ble/gatt-service/heart_rate_service_server.c 34 ../../src/ble/gatt-service/hids_device.c 35 ../../src/ble/gatt-service/nordic_spp_service_server.c 36 ../../src/ble/gatt-service/ublox_spp_service_server.c 37 ../../src/ble/le_device_db_memory.c 38 ../../src/btstack_crypto.c 39 ../../src/btstack_linked_list.c 40 ../../src/btstack_memory.c 41 ../../src/btstack_memory_pool.c 42 ../../src/btstack_tlv.c 43 ../../platform/posix/btstack_tlv_posix.c 44 ../../src/btstack_util.c 45 ../../src/hci_cmd.c 46 ../../src/hci_dump.c 47 mock.c 48) 49 50# Enable ASAN 51add_compile_options( -g -fsanitize=address) 52add_link_options( -fsanitize=address) 53 54# create static lib 55add_library(btstack STATIC ${SOURCES}) 56 57# create targets 58foreach(EXAMPLE_FILE gatt_server_test.cpp) 59 get_filename_component(EXAMPLE ${EXAMPLE_FILE} NAME_WE) 60 set (SOURCE_FILES ${EXAMPLE_FILE} mock.c ../mock/mock_btstack_tlv.c ../mock/mock_btstack_tlv.h) 61 # profile.h 62 add_custom_command( 63 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/profile.h 64 COMMAND ${CMAKE_SOURCE_DIR}/../../tool/compile_gatt.py 65 ARGS ${CMAKE_SOURCE_DIR}/profile.gatt ${CMAKE_CURRENT_BINARY_DIR}/profile.h 66 ) 67 list(APPEND SOURCE_FILES ${CMAKE_CURRENT_BINARY_DIR}/profile.h) 68 add_executable(${EXAMPLE} ${SOURCE_FILES} ) 69 target_link_libraries(${EXAMPLE} btstack) 70endforeach(EXAMPLE_FILE) 71