1*bc06f5acSMatthias Ringwaldcmake_minimum_required (VERSION 3.5) 2*bc06f5acSMatthias Ringwaldproject(test-hfp) 3*bc06f5acSMatthias Ringwald 4*bc06f5acSMatthias Ringwald# add libusb 5*bc06f5acSMatthias Ringwaldfind_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") 6*bc06f5acSMatthias Ringwaldfind_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") 7*bc06f5acSMatthias Ringwaldget_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) 8*bc06f5acSMatthias Ringwaldinclude_directories( ${LIBUSB_INCLUDE_DIR} ) 9*bc06f5acSMatthias Ringwaldlink_directories( ${LIBUSB_LIBRARY_PATH} ) 10*bc06f5acSMatthias Ringwaldlink_libraries( usb-1.0 ) 11*bc06f5acSMatthias Ringwald 12*bc06f5acSMatthias Ringwald# add CppUTest 13*bc06f5acSMatthias Ringwaldinclude_directories("/usr/local/include") 14*bc06f5acSMatthias Ringwaldlink_directories("/usr/local/lib") 15*bc06f5acSMatthias Ringwaldlink_libraries( CppUTest ) 16*bc06f5acSMatthias Ringwaldlink_libraries( CppUTestExt ) 17*bc06f5acSMatthias Ringwald 18*bc06f5acSMatthias Ringwaldinclude_directories(.) 19*bc06f5acSMatthias Ringwaldinclude_directories(..) 20*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/micro-ecc) 21*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/bluedroid/decoder/include) 22*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/bluedroid/encoder/include) 23*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/md5) 24*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/hxcmod-player) 25*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/hxcmod-player/mod) 26*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/rijndael) 27*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/yxml) 28*bc06f5acSMatthias Ringwaldinclude_directories(../../3rd-party/tinydir) 29*bc06f5acSMatthias Ringwaldinclude_directories(../../src) 30*bc06f5acSMatthias Ringwaldinclude_directories(../../chipset/zephyr) 31*bc06f5acSMatthias Ringwaldinclude_directories(../../platform/posix) 32*bc06f5acSMatthias Ringwaldinclude_directories(../../platform/embedded) 33*bc06f5acSMatthias Ringwaldinclude_directories(../../port/libusb) 34*bc06f5acSMatthias Ringwald 35*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_SRC "../../src/*.c" "../../example/sco_demo_util.c") 36*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_BLE "../../src/ble/*.c") 37*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_GATT "../../src/ble/gatt-service/*.c") 38*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_CLASSIC "../../src/classic/*.c") 39*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_BLUEDROID "../../3rd-party/bluedroid/encoder/srce/*.c" "../../3rd-party/bluedroid/decoder/srce/*.c") 40*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_MD5 "../../3rd-party/md5/md5.c") 41*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_UECC "../../3rd-party/micro-ecc/uECC.c") 42*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_YXML "../../3rd-party/yxml/yxml.c") 43*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_HXCMOD "../../3rd-party/hxcmod-player/*.c" "../../3rd-party/hxcmod-player/mods/*.c") 44*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_RIJNDAEL "../../3rd-party/rijndael/rijndael.c") 45*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_POSIX "../../platform/posix/*.c") 46*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_LIBUSB "../../port/libusb/*.c" "../../platform/libusb/*.c") 47*bc06f5acSMatthias Ringwald 48*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_BLE_OFF "../../src/ble/le_device_db_memory.c") 49*bc06f5acSMatthias Ringwaldlist(REMOVE_ITEM SOURCES_BLE ${SOURCES_BLE_OFF}) 50*bc06f5acSMatthias Ringwald 51*bc06f5acSMatthias Ringwaldfile(GLOB SOURCES_POSIX_OFF "../../platform/posix/le_device_db_fs.c") 52*bc06f5acSMatthias Ringwaldlist(REMOVE_ITEM SOURCES_POSIX ${SOURCES_POSIX_OFF}) 53*bc06f5acSMatthias Ringwald 54*bc06f5acSMatthias Ringwaldset(SOURCES 55*bc06f5acSMatthias Ringwald ${SOURCES_MD5} 56*bc06f5acSMatthias Ringwald ${SOURCES_YXML} 57*bc06f5acSMatthias Ringwald ${SOURCES_BLUEDROID} 58*bc06f5acSMatthias Ringwald ${SOURCES_POSIX} 59*bc06f5acSMatthias Ringwald ${SOURCES_RIJNDAEL} 60*bc06f5acSMatthias Ringwald ${SOURCES_LIBUSB} 61*bc06f5acSMatthias Ringwald ${SOURCES_SRC} 62*bc06f5acSMatthias Ringwald ${SOURCES_BLE} 63*bc06f5acSMatthias Ringwald ${SOURCES_GATT} 64*bc06f5acSMatthias Ringwald ${SOURCES_CLASSIC} 65*bc06f5acSMatthias Ringwald ${SOURCES_UECC} 66*bc06f5acSMatthias Ringwald ${SOURCES_HXCMOD} 67*bc06f5acSMatthias Ringwald ${SOURCES_ZEPHYR} 68*bc06f5acSMatthias Ringwald) 69*bc06f5acSMatthias Ringwaldlist(SORT SOURCES) 70*bc06f5acSMatthias Ringwald 71*bc06f5acSMatthias Ringwaldset_source_files_properties(../../src/classic/hfp_ag.c PROPERTIES LANGUAGE CXX ) 72*bc06f5acSMatthias Ringwald 73*bc06f5acSMatthias Ringwaldlist(APPEND SOURCES mock.c test_sequences.c) 74*bc06f5acSMatthias Ringwald 75*bc06f5acSMatthias Ringwald# create static lib 76*bc06f5acSMatthias Ringwaldadd_library(btstack STATIC ${SOURCES}) 77*bc06f5acSMatthias Ringwald 78*bc06f5acSMatthias Ringwald# create targets for all examples 79*bc06f5acSMatthias Ringwaldfile(GLOB EXAMPLES_C "*.c") 80*bc06f5acSMatthias Ringwaldlist(SORT EXAMPLES_C) 81*bc06f5acSMatthias Ringwald 82*bc06f5acSMatthias Ringwald# create targets 83*bc06f5acSMatthias Ringwaldforeach(EXAMPLE_FILE ${EXAMPLES_C}) 84*bc06f5acSMatthias Ringwald get_filename_component(EXAMPLE ${EXAMPLE_FILE} NAME_WE) 85*bc06f5acSMatthias Ringwald # Use C++ Compiler 86*bc06f5acSMatthias Ringwald set_source_files_properties(${EXAMPLE_FILE} PROPERTIES LANGUAGE CXX ) 87*bc06f5acSMatthias Ringwald set (SOURCE_FILES ${EXAMPLE_FILE}) 88*bc06f5acSMatthias Ringwald message("test/hfp tool: ${EXAMPLE}") 89*bc06f5acSMatthias Ringwald add_executable(${EXAMPLE} ${SOURCE_FILES} ) 90*bc06f5acSMatthias Ringwald target_link_libraries(${EXAMPLE} btstack) 91*bc06f5acSMatthias Ringwaldendforeach(EXAMPLE_FILE) 92