xref: /btstack/test/gatt_server/CMakeLists.txt (revision ec4690afd10fec8b375d4122b81902e9c9a379a0)
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