mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
179 lines
5.3 KiB
CMake
179 lines
5.3 KiB
CMake
function(register_ble_audio_libs)
|
|
if(NOT CONFIG_BT_AUDIO)
|
|
return()
|
|
endif()
|
|
|
|
if(CONFIG_SOC_BLE_AUDIO_SUPPORTED)
|
|
add_prebuilt_library(ble_audio "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/lib/lib/${idf_target}/libble_audio.a")
|
|
target_link_libraries(${COMPONENT_LIB} PRIVATE ble_audio)
|
|
endif()
|
|
endfunction()
|
|
|
|
set(ble_audio_srcs "" PARENT_SCOPE)
|
|
set(ble_audio_include_dirs "" PARENT_SCOPE)
|
|
|
|
# API headers that are used in the docs are also compiled
|
|
# even if CONFIG_BT_ENABLED=n as long as CONFIG_IDF_DOC_BUILD=y
|
|
if(CONFIG_IDF_DOC_BUILD)
|
|
set(ble_audio_include_dirs
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/include"
|
|
PARENT_SCOPE
|
|
)
|
|
return()
|
|
endif()
|
|
|
|
if(CONFIG_BT_CONTROLLER_ONLY OR NOT CONFIG_BT_AUDIO)
|
|
return()
|
|
endif()
|
|
|
|
list(APPEND ble_audio_include_dirs
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/include"
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/common/include"
|
|
"${CMAKE_CURRENT_LIST_DIR}/include"
|
|
)
|
|
|
|
if(CONFIG_BT_NIMBLE_ENABLED)
|
|
set(audio_adapter "host/adapter/nimble")
|
|
elseif(CONFIG_BT_BLUEDROID_ENABLED)
|
|
set(audio_adapter "host/adapter/bluedroid")
|
|
endif()
|
|
|
|
list(APPEND ble_audio_include_dirs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/include"
|
|
)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/server.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/init.c"
|
|
)
|
|
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/common/init.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_aics_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_bap_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_cap_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_ccp_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_codec_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_common_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_csip_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_gmap_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_has_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_mcc_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_media_proxy_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_micp_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_pacs_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_pbp_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_tbs_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_tmap_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_vcp_api.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_audio_vocs_api.c"
|
|
)
|
|
|
|
# Profile glue files live under the host adapter; same set of profile sources
|
|
# for either host, dispatched via ${audio_adapter}.
|
|
if(CONFIG_BT_ASCS)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/ascs.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_PACS)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/pacs.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_BAP_SCAN_DELEGATOR)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/bass.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_CAP_ACCEPTOR)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/cas.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_CSIP_SET_MEMBER)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/csis.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_TBS)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/tbs.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_TMAP)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/tmas.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_GMAP)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/gmas.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_VCP_VOL_REND)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/vcs.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_MICP_MIC_DEV)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/mics.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_MCS)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/mcs.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_HAS)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/${audio_adapter}/profiles/has.c"
|
|
)
|
|
endif()
|
|
|
|
if(CONFIG_BT_OTS OR CONFIG_BT_OTS_CLIENT)
|
|
list(APPEND ble_audio_include_dirs
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots"
|
|
)
|
|
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots/ots_l2cap.c"
|
|
)
|
|
|
|
if(CONFIG_BT_OTS)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots/ots_oacp.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots/ots_obj_manager.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots/ots_olcp.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots/ots.c"
|
|
)
|
|
|
|
if(CONFIG_BT_OTS_DIR_LIST_OBJ)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots/ots_dir_list.c"
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
if(CONFIG_BT_OTS_CLIENT)
|
|
list(APPEND ble_audio_srcs
|
|
"${CMAKE_CURRENT_LIST_DIR}/host/services/ots/ots_client.c"
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
# Export the variables to the parent scope
|
|
set(ble_audio_srcs "${ble_audio_srcs}" PARENT_SCOPE)
|
|
set(ble_audio_include_dirs "${ble_audio_include_dirs}" PARENT_SCOPE)
|