1cmake_minimum_required (VERSION 3.5) 2project(gatt-client-test) 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(../../src) 15include_directories(../../3rd-party/rijndael/) 16include_directories( ${CMAKE_CURRENT_BINARY_DIR}) 17 18set(SOURCES 19 ../../src/ad_parser.c 20 ../../src/ble/att_db.c 21 ../../src/ble/att_dispatch.c 22 ../../src/ble/gatt_client.c 23 ../../src/ble/le_device_db_memory.c 24 ../../src/btstack_linked_list.c 25 ../../src/btstack_memory.c 26 ../../src/btstack_memory_pool.c 27 ../../src/btstack_util.c 28 ../../src/hci_cmd.c 29 ../../src/hci_dump.c 30 ../../src/btstack_crypto.c 31 ../../3rd-party/rijndael/rijndael.c 32) 33 34# create static lib 35add_library(btstack STATIC ${SOURCES}) 36 37# create targets 38foreach(EXAMPLE_FILE le_central.cpp gatt_client_test.cpp gatt_client_crypto_test.cpp) 39 get_filename_component(EXAMPLE ${EXAMPLE_FILE} NAME_WE) 40 set (SOURCE_FILES ${EXAMPLE_FILE} mock.c) 41 # profile.h 42 add_custom_command( 43 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/profile.h 44 COMMAND ${CMAKE_SOURCE_DIR}/../../tool/compile_gatt.py 45 ARGS ${CMAKE_SOURCE_DIR}/profile.gatt ${CMAKE_CURRENT_BINARY_DIR}/profile.h 46 ) 47 list(APPEND SOURCE_FILES ${CMAKE_CURRENT_BINARY_DIR}/profile.h) 48 add_executable(${EXAMPLE} ${SOURCE_FILES} ) 49 target_link_libraries(${EXAMPLE} btstack) 50endforeach(EXAMPLE_FILE) 51