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