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