# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. # For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md project(module-bluetooth VERSION 1.0 DESCRIPTION "Bluetooth module library") set(CMAKE_CXX_STANDARD 17) module_is_test_entity() set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/audio/BluetoothAudioDevice.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/BluetoothWorker.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/error_bluetooth.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/WorkerController.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/CommandHandler.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/Device.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/glucode/BluetoothRunLoop.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/BluetoothDriverImpl.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/BtKeysStorage.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/GAP/GAP.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/GAP/Devices.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/GAP/used_events.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/A2DP/A2DP.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/A2DP/AVRCP.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/A2DP/AVDTP.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/HSP/HSP.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/SCO/SCO.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/SCO/ScoUtils.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/HFP/HFP.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/Profile.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/ProfileManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/interface/profiles/PhoneInterface.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bluetooth/command/Command.cpp ) if (${PROJECT_TARGET} STREQUAL "TARGET_Linux") add_subdirectory(Bluetooth/doc/uml/) endif() include(lib/btstack.cmake) add_library(${PROJECT_NAME} STATIC ${SOURCES} ${BOARD_DIR_SOURCES}) # # Board specific compilation definitions,options,include directories and features target_compile_definitions(${PROJECT_NAME} PUBLIC ${PROJECT_CONFIG_DEFINITIONS} ${PROJECT_TARGET} ${BOARD_DIR_DEFINITIONS} ) target_compile_options(${PROJECT_NAME} PRIVATE -Wno-sign-compare -Wno-missing-field-initializers -Wno-unused-function -Wno-implicit-fallthrough -Wno-stringop-truncation # C only flags "$<$:-Wno-old-style-declaration>" ) target_include_directories( ${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${TARGET_LIBRARIES_INCLUDES} ${BT_STACK_ROOT} ${BT_STACK_ROOT}/src ${BT_STACK_ROOT}/src/classic ) target_link_libraries(${PROJECT_NAME} $<$:application-settings> ${BOARD_DIR_LIBRARIES} module-audio module-bsp module-sys module-utils module-vfs service-audio service-bluetooth service-evtmgr sml::sml sml::utils::logger json::json ) if (${ENABLE_TESTS}) add_subdirectory(tests) endif()