1e2b8c095SMilanka Ringwaldcmake_minimum_required (VERSION 3.5) 2e2b8c095SMilanka Ringwaldproject(gatt_server) 3e2b8c095SMilanka Ringwald 4*ec4690afSMatthias Ringwald# pkgconfig 5e2b8c095SMilanka Ringwaldfind_package(PkgConfig REQUIRED) 6e2b8c095SMilanka Ringwald 7*ec4690afSMatthias Ringwald# CppuTest 8*ec4690afSMatthias Ringwaldpkg_check_modules(CPPUTEST REQUIRED CppuTest) 9*ec4690afSMatthias Ringwaldinclude_directories(${CPPUTEST_INCLUDE_DIRS}) 10*ec4690afSMatthias Ringwaldlink_directories(${CPPUTEST_LIBRARY_DIRS}) 11*ec4690afSMatthias Ringwaldlink_libraries(${CPPUTEST_LIBRARIES}) 12e2b8c095SMilanka Ringwald 13e2b8c095SMilanka Ringwaldinclude_directories(.) 1425336c94SMilanka Ringwaldinclude_directories(../mock/) 15e2b8c095SMilanka Ringwaldinclude_directories(../../src) 16e2b8c095SMilanka Ringwaldinclude_directories(../../3rd-party/rijndael/) 17e2b8c095SMilanka Ringwaldinclude_directories(../../3rd-party/micro-ecc/) 1825336c94SMilanka Ringwaldinclude_directories(../../platform/posix/) 19e2b8c095SMilanka Ringwaldinclude_directories( ${CMAKE_CURRENT_BINARY_DIR}) 20e2b8c095SMilanka Ringwald 21e2b8c095SMilanka Ringwaldset(SOURCES 2225336c94SMilanka Ringwald ../mock/mock_btstack_tlv.c 23e2b8c095SMilanka Ringwald ../../3rd-party/rijndael/rijndael.c 24e2b8c095SMilanka Ringwald ../../3rd-party/micro-ecc/uECC.c 25e2b8c095SMilanka Ringwald ../../src/ad_parser.c 26e2b8c095SMilanka Ringwald ../../src/ble/att_db.c 27e2b8c095SMilanka Ringwald ../../src/ble/att_db_util.c 28e2b8c095SMilanka Ringwald ../../src/ble/att_server.c 29e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/battery_service_server.c 30e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/cycling_power_service_server.c 31e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/cycling_speed_and_cadence_service_server.c 32e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/device_information_service_server.c 33e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/heart_rate_service_server.c 34e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/hids_device.c 35e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/nordic_spp_service_server.c 36e2b8c095SMilanka Ringwald ../../src/ble/gatt-service/ublox_spp_service_server.c 37e2b8c095SMilanka Ringwald ../../src/ble/le_device_db_memory.c 38e2b8c095SMilanka Ringwald ../../src/btstack_crypto.c 39e2b8c095SMilanka Ringwald ../../src/btstack_linked_list.c 40e2b8c095SMilanka Ringwald ../../src/btstack_memory.c 41e2b8c095SMilanka Ringwald ../../src/btstack_memory_pool.c 42e2b8c095SMilanka Ringwald ../../src/btstack_tlv.c 4325336c94SMilanka Ringwald ../../platform/posix/btstack_tlv_posix.c 44e2b8c095SMilanka Ringwald ../../src/btstack_util.c 45e2b8c095SMilanka Ringwald ../../src/hci_cmd.c 46e2b8c095SMilanka Ringwald ../../src/hci_dump.c 47e2b8c095SMilanka Ringwald mock.c 48e2b8c095SMilanka Ringwald) 49e2b8c095SMilanka Ringwald 508206902cSMilanka Ringwald# Enable ASAN 518206902cSMilanka Ringwaldadd_compile_options( -g -fsanitize=address) 528206902cSMilanka Ringwaldadd_link_options( -fsanitize=address) 538206902cSMilanka Ringwald 54e2b8c095SMilanka Ringwald# create static lib 55e2b8c095SMilanka Ringwaldadd_library(btstack STATIC ${SOURCES}) 56e2b8c095SMilanka Ringwald 57e2b8c095SMilanka Ringwald# create targets 58e2b8c095SMilanka Ringwaldforeach(EXAMPLE_FILE gatt_server_test.cpp) 59e2b8c095SMilanka Ringwald get_filename_component(EXAMPLE ${EXAMPLE_FILE} NAME_WE) 6025336c94SMilanka Ringwald set (SOURCE_FILES ${EXAMPLE_FILE} mock.c ../mock/mock_btstack_tlv.c ../mock/mock_btstack_tlv.h) 61e2b8c095SMilanka Ringwald # profile.h 62e2b8c095SMilanka Ringwald add_custom_command( 63e2b8c095SMilanka Ringwald OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/profile.h 64e2b8c095SMilanka Ringwald COMMAND ${CMAKE_SOURCE_DIR}/../../tool/compile_gatt.py 65e2b8c095SMilanka Ringwald ARGS ${CMAKE_SOURCE_DIR}/profile.gatt ${CMAKE_CURRENT_BINARY_DIR}/profile.h 66e2b8c095SMilanka Ringwald ) 67e2b8c095SMilanka Ringwald list(APPEND SOURCE_FILES ${CMAKE_CURRENT_BINARY_DIR}/profile.h) 68e2b8c095SMilanka Ringwald add_executable(${EXAMPLE} ${SOURCE_FILES} ) 69e2b8c095SMilanka Ringwald target_link_libraries(${EXAMPLE} btstack) 70e2b8c095SMilanka Ringwaldendforeach(EXAMPLE_FILE) 71