xref: /btstack/test/gatt_client/CMakeLists.txt (revision 64b4329f5bf32b92c612ea7ea6267ac254f10927)
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/hci_event_builder.c
31	../../src/btstack_crypto.c
32	../../3rd-party/rijndael/rijndael.c
33)
34
35# create static lib
36add_library(btstack STATIC ${SOURCES})
37
38# create targets
39foreach(EXAMPLE_FILE le_central.cpp gatt_client_test.cpp gatt_client_crypto_test.cpp)
40	get_filename_component(EXAMPLE ${EXAMPLE_FILE} NAME_WE)
41	set (SOURCE_FILES ${EXAMPLE_FILE} mock.c)
42	# profile.h
43	add_custom_command(
44		OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/profile.h
45		COMMAND ${CMAKE_SOURCE_DIR}/../../tool/compile_gatt.py
46		ARGS ${CMAKE_SOURCE_DIR}/profile.gatt ${CMAKE_CURRENT_BINARY_DIR}/profile.h
47	)
48	list(APPEND SOURCE_FILES ${CMAKE_CURRENT_BINARY_DIR}/profile.h)
49	add_executable(${EXAMPLE} ${SOURCE_FILES} )
50	target_link_libraries(${EXAMPLE} btstack)
51endforeach(EXAMPLE_FILE)
52