Merge branch 'change/ble_update_lib_20260520_v5.2' into 'release/v5.2'

change(ble): [AUTO_MR] 20260520 - Update ESP BLE Controller Lib (5.2)

See merge request espressif/esp-idf!48766
This commit is contained in:
Island
2026-06-05 16:39:28 +08:00
15 changed files with 1356 additions and 1080 deletions
File diff suppressed because it is too large Load Diff
+1
View File
@@ -120,6 +120,7 @@ endmenu
menuconfig BLE_MESH menuconfig BLE_MESH
bool "ESP BLE Mesh Support" bool "ESP BLE Mesh Support"
depends on BT_ENABLED depends on BT_ENABLED
depends on SOC_BLE_MESH_SUPPORTED
help help
This option enables ESP BLE Mesh support. The specific features that are This option enables ESP BLE Mesh support. The specific features that are
available may depend on other features that have been enabled in the available may depend on other features that have been enabled in the
+204
View File
@@ -0,0 +1,204 @@
function(replace_log_compression_srcs)
if(NOT CONFIG_BLE_COMPRESSED_LOG_ENABLE)
return()
endif()
get_filename_component(CODE_BASE_PATH "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/.." ABSOLUTE)
# When log compression is enabled, selected logs are replaced
# by auto-generated macros that emit pre-encoded data.
# This eliminates the original format strings, reducing firmware size and
# removing runtime formatting overhead, so logs are produced faster and
# with less system impact.
add_subdirectory(${CMAKE_CURRENT_FUNCTION_LIST_DIR}/ble_log/extension/log_compression)
set(LOG_COMPRESSION_TARGET "${LOG_COMPRESSION_TARGET}" PARENT_SCOPE)
if(LOG_COMPRESSION_TARGET)
# Replace the caller's srcs/include_dirs with the compressed-log ones
set(srcs "${LOG_COMPRESS_SRCS}" PARENT_SCOPE)
set(include_dirs "${LOG_COMPRESS_INCLUDE_DIRS}" PARENT_SCOPE)
# LOG_COMPRESS_FILES_WITH_FLAGS format: "file_path|compile_flags"
if(LOG_COMPRESS_FILES_WITH_FLAGS)
foreach(file_entry ${LOG_COMPRESS_FILES_WITH_FLAGS})
# Split by '|' to get file path and flags
string(REPLACE "|" ";" file_parts "${file_entry}")
list(GET file_parts 0 file_path)
list(GET file_parts 1 compile_flags)
set_source_files_properties(${file_path}
PROPERTIES COMPILE_FLAGS "${compile_flags}")
endforeach()
endif()
else()
# Only append extra include dirs, keep caller's srcs/include_dirs intact
set(_merged_include_dirs ${include_dirs} ${LOG_COMPRESS_INCLUDE_DIRS})
set(include_dirs "${_merged_include_dirs}" PARENT_SCOPE)
endif()
endfunction()
# Make the bt component library depend on the log-compression custom target
# so that the Python-driven code-generation step (log index headers and
# replacement sources referenced by LOG_COMPRESS_SRCS) finishes before the
# component is compiled. Does nothing if compressed log is disabled or no
# module actually participates in log compression.
function(register_log_compression_dependency)
if(NOT CONFIG_BLE_COMPRESSED_LOG_ENABLE)
return()
endif()
if(NOT LOG_COMPRESSION_TARGET)
return()
endif()
add_dependencies(${COMPONENT_LIB} ${LOG_COMPRESSION_TARGET})
endfunction()
function(wrap_uart_log_tx_interface)
if(NOT CONFIG_BT_ENABLED)
return()
endif()
# UART redir wrap flags — needed whenever BLE Log uses UART DMA on port 0,
# regardless of whether BLE controller is enabled.
if(DEFINED CONFIG_BLE_LOG_PRPH_UART_DMA_PORT)
if(CONFIG_BLE_LOG_PRPH_UART_DMA_PORT EQUAL 0)
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_tx_chars")
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_write_bytes")
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_write_bytes_with_break")
endif()
endif()
endfunction()
set(bt_common_srcs "" PARENT_SCOPE)
set(bt_common_include_dirs "" PARENT_SCOPE)
set(bt_common_priv_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(bt_common_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/api/include/api"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/esp/blufi/include"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/esp/include"
"${CMAKE_CURRENT_LIST_DIR}/hci_log/include"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/include"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/deprecated/include"
PARENT_SCOPE
)
return()
endif()
if(NOT CONFIG_BT_ENABLED)
return()
endif()
list(APPEND bt_common_srcs
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_alarm.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_blufi_api.c"
"${CMAKE_CURRENT_LIST_DIR}/hci_log/bt_hci_log.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_manage.c"
"${CMAKE_CURRENT_LIST_DIR}/hci_log/bt_hci_log_insights.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_task.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/esp/blufi/blufi_prf.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/esp/blufi/blufi_protocol.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/alarm.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/allocator.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/buffer.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/config.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/fixed_queue.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/pkt_queue.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/fixed_pkt_queue.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/future.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/hash_functions.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/hash_map.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/list.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/mutex.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/thread.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/osi.c"
"${CMAKE_CURRENT_LIST_DIR}/osi/semaphore.c"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/deprecated/ble_log_spi_out.c"
)
list(APPEND bt_common_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/osi/include"
"${CMAKE_CURRENT_LIST_DIR}/api/include/api"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/esp/blufi/include"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/esp/include"
"${CMAKE_CURRENT_LIST_DIR}/hci_log/include"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/include"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/deprecated/include"
)
list(APPEND bt_common_priv_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/btc/include"
"${CMAKE_CURRENT_LIST_DIR}/include"
)
if(CONFIG_BLE_LOG_ENABLED)
list(APPEND bt_common_srcs
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/ble_log.c"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/ble_log_lbm.c"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/ble_log_rt.c"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/ble_log_util.c"
)
list(APPEND bt_common_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/ble_log/include"
)
list(APPEND bt_common_priv_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/internal_include"
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/internal_include/prph"
)
# Timestamp synchronization extension
if(CONFIG_BLE_LOG_TS_ENABLED)
list(APPEND bt_common_srcs "${CMAKE_CURRENT_LIST_DIR}/ble_log/src/ble_log_ts.c")
endif()
# Peripheral interface implementation
if(CONFIG_BLE_LOG_PRPH_DUMMY)
list(APPEND bt_common_srcs
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/prph/ble_log_prph_dummy.c"
)
elseif(CONFIG_BLE_LOG_PRPH_SPI_MASTER_DMA)
list(APPEND bt_common_srcs
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/prph/ble_log_prph_spi_master_dma.c"
)
elseif(CONFIG_BLE_LOG_PRPH_UART_DMA)
list(APPEND bt_common_srcs
"${CMAKE_CURRENT_LIST_DIR}/ble_log/src/prph/ble_log_prph_uart_dma.c"
)
endif()
endif()
# Compile TinyCrypt if:
# 1. Controller uses TinyCrypt (not mbedTLS), OR
# 2. NimBLE uses TinyCrypt (not mbedTLS), OR
# 3. Bluedroid Host SMP uses TinyCrypt
if(CONFIG_BT_SMP_CRYPTO_STACK_TINYCRYPT OR NOT CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS)
list(APPEND bt_common_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/include"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/port"
)
list(APPEND bt_common_srcs
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/utils.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/sha256.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/ecc.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/ctr_prng.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/ctr_mode.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/aes_decrypt.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/aes_encrypt.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/ccm_mode.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/ecc_dsa.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/cmac_mode.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/ecc_dh.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/hmac_prng.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/ecc_platform_specific.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/hmac.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/src/cbc_mode.c"
"${CMAKE_CURRENT_LIST_DIR}/tinycrypt/port/esp_tinycrypt_port.c"
)
endif()
# Export the variables to the parent scope
set(bt_common_srcs "${bt_common_srcs}" PARENT_SCOPE)
set(bt_common_include_dirs "${bt_common_include_dirs}" PARENT_SCOPE)
set(bt_common_priv_include_dirs "${bt_common_priv_include_dirs}" PARENT_SCOPE)
@@ -118,6 +118,12 @@ if(LOG_COMPRESSED_MODULE)
string(REPLACE ";" "|" MODULE_CODE_PATH "${LOG_COMPRESSED_MODULE_CODE_PATH}") string(REPLACE ";" "|" MODULE_CODE_PATH "${LOG_COMPRESSED_MODULE_CODE_PATH}")
set(MATCH_PATTERN "(${MODULE_CODE_PATH}).+\\.c") set(MATCH_PATTERN "(${MODULE_CODE_PATH}).+\\.c")
foreach(src ${srcs}) foreach(src ${srcs})
# Normalize absolute paths to relative paths (relative to CODE_BASE_PATH)
# so that pattern matching works and .compressed_srcs/ has a clean layout
if(IS_ABSOLUTE "${src}")
get_filename_component(src "${src}" ABSOLUTE)
file(RELATIVE_PATH src "${CODE_BASE_PATH}" "${src}")
endif()
if(src MATCHES ${MATCH_PATTERN}) if(src MATCHES ${MATCH_PATTERN})
set(dest "${LOG_COMPRESSED_SRCS_DIR}/${src}") set(dest "${LOG_COMPRESSED_SRCS_DIR}/${src}")
file(WRITE "${dest}" "") file(WRITE "${dest}" "")
@@ -663,9 +663,15 @@ class LogCompressor:
compressed_file_cnt = 0 compressed_file_cnt = 0
total_cnt = 0 total_cnt = 0
for src in srcs: for src in srcs:
if pattern.match(src): # Convert absolute paths to relative (to code_base_path) for pattern matching
src_path = self.code_base_path / src src_for_match = src
dest_path = self.bt_compressed_srcs_path / src try:
src_for_match = str(Path(src).relative_to(self.code_base_path))
except ValueError:
pass # Not under code_base_path, keep as-is
if pattern.match(src_for_match):
src_path = self.code_base_path / src_for_match
dest_path = self.bt_compressed_srcs_path / src_for_match
temp_path = f'{dest_path}.tmp' temp_path = f'{dest_path}.tmp'
total_cnt += 1 total_cnt += 1
# Skip if already processed # Skip if already processed
+134
View File
@@ -0,0 +1,134 @@
# Function to register the libraries for the BT controller
function(register_bt_ctrl_libs)
# TODO: The coex will use controller library even if CONFIG_BT_CONTROLLER_ENABLED=n which is not correct.
if(CONFIG_IDF_TARGET_ESP32)
target_link_directories(${COMPONENT_LIB} INTERFACE "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/lib_esp32/esp32")
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u ld_include_hli_vectors_bt")
endif()
if(NOT CONFIG_BT_CONTROLLER_ENABLED)
return()
endif()
if(CONFIG_IDF_TARGET_ESP32C3)
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
set(lib_name "btdm_app_flash")
else()
set(lib_name "btdm_app")
endif()
add_prebuilt_library(bt_btdm_app
"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/lib_esp32c3_family/esp32c3/lib${lib_name}.a")
target_link_libraries(${COMPONENT_LIB} PRIVATE bt_btdm_app)
elseif(CONFIG_IDF_TARGET_ESP32S3)
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
set(lib_name "btdm_app_flash")
else()
set(lib_name "btdm_app")
endif()
add_prebuilt_library(bt_btdm_app
"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/lib_esp32c3_family/esp32s3/lib${lib_name}.a")
target_link_libraries(${COMPONENT_LIB} PRIVATE bt_btdm_app)
elseif(NOT CONFIG_IDF_TARGET_ESP32)
set(lib_path "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/lib_${TARGET_SRC_NAME}/${TARGET_SRC_NAME}-bt-lib")
# BLE controller library
if(NOT CONFIG_BT_DUAL_MODE_ARCH OR CONFIG_BT_CTRL_BLE_ENABLE)
if(EXISTS "${lib_path}/libble_app.a")
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY AND EXISTS "${lib_path}/libble_app_flash.a")
add_prebuilt_library(libble_app "${lib_path}/libble_app_flash.a" REQUIRES esp_phy bt)
else()
add_prebuilt_library(libble_app "${lib_path}/libble_app.a" REQUIRES esp_phy bt)
endif()
else()
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY AND EXISTS "${lib_path}/${idf_target}/libble_app_flash.a")
add_prebuilt_library(libble_app "${lib_path}/${idf_target}/libble_app_flash.a" REQUIRES esp_phy bt)
else()
add_prebuilt_library(libble_app "${lib_path}/${idf_target}/libble_app.a" REQUIRES esp_phy bt)
endif()
endif()
target_link_libraries(${COMPONENT_LIB} PRIVATE libble_app)
endif()
# BREDR controller library
if(CONFIG_BT_CTRL_BREDR_ENABLE)
if(EXISTS "${lib_path}/libbredr_app.a")
add_prebuilt_library(libbredr_app "${lib_path}/libbredr_app.a" REQUIRES esp_phy bt)
else()
add_prebuilt_library(libbredr_app "${lib_path}/${idf_target}/libbredr_app.a" REQUIRES esp_phy bt)
endif()
target_link_libraries(${COMPONENT_LIB} PRIVATE libbredr_app)
endif()
# BTDM common library
if(CONFIG_BT_DUAL_MODE_ARCH)
if(EXISTS "${lib_path}/libbtdm_common.a")
add_prebuilt_library(libbtdm_common "${lib_path}/libbtdm_common.a" esp_phy bt)
else()
add_prebuilt_library(libbtdm_common "${lib_path}/${idf_target}/libbtdm_common.a" esp_phy bt)
endif()
target_link_libraries(${COMPONENT_LIB} PRIVATE libbtdm_common)
endif()
endif()
# Used to dump logs in the panic handler
if(CONFIG_BT_LE_CONTROLLER_LOG_WRAP_PANIC_HANDLER_ENABLE)
target_link_options(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=esp_panic_handler")
endif()
endfunction()
set(bt_ctrl_srcs "" PARENT_SCOPE)
set(bt_ctrl_include_dirs "" PARENT_SCOPE)
set(bt_ctrl_ldscripts "${ldscripts}")
set(bt_ctrl_ldscripts "${bt_ctrl_ldscripts}" 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 AND CONFIG_SOC_BT_SUPPORTED)
get_filename_component(
_bt_ctrl_absolute_include_dir
"${CMAKE_CURRENT_LIST_DIR}/../include/${TARGET_SRC_NAME}/include"
ABSOLUTE
)
set(bt_ctrl_include_dirs "${_bt_ctrl_absolute_include_dir}" PARENT_SCOPE)
return()
endif()
if(NOT CONFIG_BT_CONTROLLER_ENABLED)
return()
endif()
# Get all the .c files in the TARGET_SRC_NAME directory
file(GLOB_RECURSE _CTRL_SRCS "${TARGET_SRC_NAME}/*.c")
list(APPEND bt_ctrl_srcs ${_CTRL_SRCS})
list(APPEND bt_ctrl_include_dirs "${CMAKE_CURRENT_LIST_DIR}/../include/${TARGET_SRC_NAME}/include")
# TODO: Move this to a separate file for the controller and the host
if(CONFIG_SOC_ESP_NIMBLE_CONTROLLER AND NOT CONFIG_BT_NIMBLE_ENABLED)
list(APPEND bt_ctrl_srcs
"${CMAKE_CURRENT_LIST_DIR}/../host/nimble/port/src/esp_nimble_mem.c"
)
list(APPEND bt_ctrl_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/../host/nimble/port/include"
)
endif()
# Add the linker scripts
if(CONFIG_IDF_TARGET_ESP32)
list(APPEND bt_ctrl_srcs "${CMAKE_CURRENT_LIST_DIR}/esp32/hli_vectors.S"
"${CMAKE_CURRENT_LIST_DIR}/esp32/hli_api.c")
list(APPEND bt_ctrl_ldscripts "${CMAKE_CURRENT_LIST_DIR}/linker_rw_bt_controller.lf")
elseif(CONFIG_IDF_TARGET_ESP32C3)
list(APPEND bt_ctrl_ldscripts "${CMAKE_CURRENT_LIST_DIR}/linker_rw_bt_controller.lf")
elseif(CONFIG_IDF_TARGET_ESP32S3)
list(APPEND bt_ctrl_ldscripts "${CMAKE_CURRENT_LIST_DIR}/linker_rw_bt_controller.lf")
elseif(CONFIG_IDF_TARGET_ESP32C2)
set(bt_ctrl_ldscripts "${CMAKE_CURRENT_LIST_DIR}/linker_esp32c2.lf")
elseif(CONFIG_BT_DUAL_MODE_ARCH)
list(APPEND bt_ctrl_ldscripts "${CMAKE_CURRENT_LIST_DIR}/linker_esp_btdm_controller.lf")
else()
list(APPEND bt_ctrl_ldscripts "${CMAKE_CURRENT_LIST_DIR}/linker_esp_ble_controller.lf")
endif()
# Export the variables to the parent scope
set(bt_ctrl_srcs "${bt_ctrl_srcs}" PARENT_SCOPE)
set(bt_ctrl_include_dirs "${bt_ctrl_include_dirs}" PARENT_SCOPE)
set(bt_ctrl_ldscripts "${bt_ctrl_ldscripts}" PARENT_SCOPE)
+221
View File
@@ -0,0 +1,221 @@
function(register_ble_mesh_libs)
if(NOT CONFIG_BLE_MESH)
return()
endif()
if(CONFIG_BLE_MESH_V11_SUPPORT)
add_prebuilt_library(ble_mesh "esp_ble_mesh/lib/lib/${idf_target}/libble_mesh.a")
target_link_libraries(${COMPONENT_LIB} PRIVATE ble_mesh)
endif()
endfunction()
set(ble_mesh_srcs "" PARENT_SCOPE)
set(ble_mesh_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_mesh_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/common/include"
"${CMAKE_CURRENT_LIST_DIR}/core"
"${CMAKE_CURRENT_LIST_DIR}/core/include"
"${CMAKE_CURRENT_LIST_DIR}/core/storage"
"${CMAKE_CURRENT_LIST_DIR}/btc/include"
"${CMAKE_CURRENT_LIST_DIR}/models/common/include"
"${CMAKE_CURRENT_LIST_DIR}/models/client/include"
"${CMAKE_CURRENT_LIST_DIR}/models/server/include"
"${CMAKE_CURRENT_LIST_DIR}/api/core/include"
"${CMAKE_CURRENT_LIST_DIR}/api/models/include"
"${CMAKE_CURRENT_LIST_DIR}/api"
# BLE Mesh v1.1 headers
"${CMAKE_CURRENT_LIST_DIR}/lib/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/models/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/mbt"
PARENT_SCOPE
)
return()
endif()
if(NOT CONFIG_BLE_MESH)
return()
endif()
if(CONFIG_BLE_MESH_USE_UNIFIED_CRYPTO)
message(WARNING "This configuration path is deprecated and will be removed"
"in a future version. Please use the corresponding Kconfig"
"options under $IDF_PATH/components/bt/common/Kconfig.")
endif()
list(APPEND ble_mesh_srcs
"${CMAKE_CURRENT_LIST_DIR}/api/core/esp_ble_mesh_ble_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/core/esp_ble_mesh_common_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/core/esp_ble_mesh_local_data_operation_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/core/esp_ble_mesh_low_power_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/core/esp_ble_mesh_networking_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/core/esp_ble_mesh_provisioning_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/core/esp_ble_mesh_proxy_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/models/esp_ble_mesh_config_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/models/esp_ble_mesh_generic_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/models/esp_ble_mesh_health_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/models/esp_ble_mesh_lighting_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/models/esp_ble_mesh_sensor_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/models/esp_ble_mesh_time_scene_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_ble.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_config_model.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_generic_model.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_health_model.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_lighting_model.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_prov.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_sensor_model.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/btc_ble_mesh_time_scene_model.c"
"${CMAKE_CURRENT_LIST_DIR}/common/atomic.c"
"${CMAKE_CURRENT_LIST_DIR}/common/buf.c"
"${CMAKE_CURRENT_LIST_DIR}/common/common.c"
"${CMAKE_CURRENT_LIST_DIR}/common/kernel.c"
"${CMAKE_CURRENT_LIST_DIR}/common/mutex.c"
"${CMAKE_CURRENT_LIST_DIR}/common/queue.c"
"${CMAKE_CURRENT_LIST_DIR}/common/timer.c"
"${CMAKE_CURRENT_LIST_DIR}/common/utils.c"
"${CMAKE_CURRENT_LIST_DIR}/core/storage/settings_nvs.c"
"${CMAKE_CURRENT_LIST_DIR}/core/storage/settings_uid.c"
"${CMAKE_CURRENT_LIST_DIR}/core/storage/settings.c"
"${CMAKE_CURRENT_LIST_DIR}/core/access.c"
"${CMAKE_CURRENT_LIST_DIR}/core/adv_common.c"
"${CMAKE_CURRENT_LIST_DIR}/core/beacon.c"
"${CMAKE_CURRENT_LIST_DIR}/core/cfg_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/core/cfg_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/core/crypto.c"
"${CMAKE_CURRENT_LIST_DIR}/core/fast_prov.c"
"${CMAKE_CURRENT_LIST_DIR}/core/friend.c"
"${CMAKE_CURRENT_LIST_DIR}/core/health_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/core/health_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/core/heartbeat.c"
"${CMAKE_CURRENT_LIST_DIR}/core/local.c"
"${CMAKE_CURRENT_LIST_DIR}/core/lpn.c"
"${CMAKE_CURRENT_LIST_DIR}/core/main.c"
"${CMAKE_CURRENT_LIST_DIR}/core/net.c"
"${CMAKE_CURRENT_LIST_DIR}/core/prov_common.c"
"${CMAKE_CURRENT_LIST_DIR}/core/prov_node.c"
"${CMAKE_CURRENT_LIST_DIR}/core/prov_pvnr.c"
"${CMAKE_CURRENT_LIST_DIR}/core/proxy_client.c"
"${CMAKE_CURRENT_LIST_DIR}/core/proxy_server.c"
"${CMAKE_CURRENT_LIST_DIR}/core/pvnr_mgmt.c"
"${CMAKE_CURRENT_LIST_DIR}/core/rpl.c"
"${CMAKE_CURRENT_LIST_DIR}/core/scan.c"
"${CMAKE_CURRENT_LIST_DIR}/core/test.c"
"${CMAKE_CURRENT_LIST_DIR}/models/common/device_property.c"
"${CMAKE_CURRENT_LIST_DIR}/models/common/model_common.c"
"${CMAKE_CURRENT_LIST_DIR}/models/client/client_common.c"
"${CMAKE_CURRENT_LIST_DIR}/models/client/generic_client.c"
"${CMAKE_CURRENT_LIST_DIR}/models/client/lighting_client.c"
"${CMAKE_CURRENT_LIST_DIR}/models/client/sensor_client.c"
"${CMAKE_CURRENT_LIST_DIR}/models/client/time_scene_client.c"
"${CMAKE_CURRENT_LIST_DIR}/models/server/generic_server.c"
"${CMAKE_CURRENT_LIST_DIR}/models/server/lighting_server.c"
"${CMAKE_CURRENT_LIST_DIR}/models/server/sensor_server.c"
"${CMAKE_CURRENT_LIST_DIR}/models/server/server_common.c"
"${CMAKE_CURRENT_LIST_DIR}/models/server/state_binding.c"
"${CMAKE_CURRENT_LIST_DIR}/models/server/state_transition.c"
"${CMAKE_CURRENT_LIST_DIR}/models/server/time_scene_server.c"
)
if(CONFIG_BLE_MESH_SUPPORT_MULTI_ADV)
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/core/ext_adv.c")
else()
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/core/adv.c")
endif()
if(CONFIG_BLE_MESH_SUPPORT_BLE_ADV)
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/core/ble_adv.c")
endif()
# Select crypto implementation based on config
if(CONFIG_BT_SMP_CRYPTO_STACK_TINYCRYPT)
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/common/crypto_tc.c")
elseif(CONFIG_BT_SMP_CRYPTO_STACK_MBEDTLS)
if(CONFIG_MBEDTLS_VER_4_X_SUPPORT)
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/common/crypto_psa.c")
else()
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/common/crypto_mbedtls.c")
endif()
endif()
list(APPEND ble_mesh_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/common/include"
"${CMAKE_CURRENT_LIST_DIR}/core"
"${CMAKE_CURRENT_LIST_DIR}/core/include"
"${CMAKE_CURRENT_LIST_DIR}/core/storage"
"${CMAKE_CURRENT_LIST_DIR}/btc/include"
"${CMAKE_CURRENT_LIST_DIR}/models/common/include"
"${CMAKE_CURRENT_LIST_DIR}/models/client/include"
"${CMAKE_CURRENT_LIST_DIR}/models/server/include"
"${CMAKE_CURRENT_LIST_DIR}/api/core/include"
"${CMAKE_CURRENT_LIST_DIR}/api/models/include"
"${CMAKE_CURRENT_LIST_DIR}/api"
)
if(CONFIG_BLE_MESH_V11_SUPPORT)
list(APPEND ble_mesh_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/lib/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/models/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/include"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/mbt"
)
list(APPEND ble_mesh_srcs
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_agg_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_brc_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_cm_data_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_df_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_lcd_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_odp_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_prb_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_rpr_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_sar_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/core/esp_ble_mesh_srpl_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/models/esp_ble_mesh_mbt_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/models/esp_ble_mesh_dfu_model_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/api/models/esp_ble_mesh_dfu_slot_api.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_agg_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_brc_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_df_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_dfu_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_dfu_slot.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_lcd_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_mbt_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_odp_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_prb_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_rpr_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_sar_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/btc/btc_ble_mesh_srpl_model.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/mbt/blob_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/mbt/blob_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu/dfu_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu/dfu_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu/dfu_slot.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu/dfu_metadata.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu/dfd_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/v1.1/dfu/dfd_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/lib/ext.c"
)
if(CONFIG_BLE_MESH_SAR_ENHANCEMENT)
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/core/transport.enh.c")
else()
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/core/transport.c")
endif()
else()
list(APPEND ble_mesh_srcs "${CMAKE_CURRENT_LIST_DIR}/core/transport.c")
endif()
# Export the variables to the parent scope
set(ble_mesh_srcs "${ble_mesh_srcs}" PARENT_SCOPE)
set(ble_mesh_include_dirs "${ble_mesh_include_dirs}" PARENT_SCOPE)
+379
View File
@@ -0,0 +1,379 @@
# TODO: These warnings should be resolved in the Bluedroid code
function(set_bluedroid_host_compile_flags)
if(NOT CONFIG_BT_BLUEDROID_ENABLED)
return()
endif()
set_source_files_properties(
"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/bta/gatt/bta_gattc_act.c"
"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/bta/gatt/bta_gattc_cache.c"
"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/btc/profile/std/gatt/btc_gatt_util.c"
"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/btc/profile/std/gatt/btc_gatts.c"
PROPERTIES COMPILE_FLAGS -Wno-address-of-packed-member
)
if(NOT CMAKE_BUILD_EARLY_EXPANSION)
set(jump_table_opts "-fjump-tables")
if(NOT (CMAKE_C_COMPILER_ID MATCHES "Clang") )
set(jump_table_opts "${jump_table_opts} -ftree-switch-conversion")
endif()
set_source_files_properties("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/bta/hf_ag/bta_ag_cmd.c"
"${CMAKE_CURRENT_FUNCTION_LIST_DIR}/btc/profile/std/gap/btc_gap_ble.c"
PROPERTIES COMPILE_FLAGS "${jump_table_opts}")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 15.0)
set_source_files_properties("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/device/controller.c"
PROPERTIES COMPILE_FLAGS "-Wno-unterminated-string-initialization")
endif()
endfunction()
set(bluedroid_host_srcs "" PARENT_SCOPE)
set(bluedroid_host_include_dirs "" PARENT_SCOPE)
set(bluedroid_host_priv_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(bluedroid_host_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/api/include/api"
PARENT_SCOPE
)
return()
endif()
if(NOT CONFIG_BT_BLUEDROID_ENABLED)
return()
endif()
list(APPEND bluedroid_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/api/esp_a2dp_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_avrc_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_bluedroid_hci.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_bt_device.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_bt_main.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_gap_ble_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_gap_bt_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_gatt_common_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_gattc_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_gatts_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_hidd_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_hidh_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_hf_ag_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_hf_client_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_spp_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_sdp_api.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_l2cap_bt_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/ar/bta_ar.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_aact.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_ci.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_sbc.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/av/bta_av_ssm.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_ci.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_co.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_pm.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_sco.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/dm/bta_dm_qos.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gatt_common.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gattc_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gattc_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gattc_cache.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gattc_ci.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gattc_co.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gattc_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gattc_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gatts_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gatts_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gatts_co.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gatts_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/gatt/bta_gatts_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hd/bta_hd_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hd/bta_hd_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hd/bta_hd_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hh/bta_hh_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hh/bta_hh_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hh/bta_hh_cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hh/bta_hh_le.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hh/bta_hh_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hh/bta_hh_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/jv/bta_jv_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/jv/bta_jv_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/jv/bta_jv_cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/jv/bta_jv_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_at.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_cmd.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_rfc.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_sco.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/bta_ag_sdp.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_at.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_cmd.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_rfc.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_sco.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/bta_hf_client_sdp.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/sdp/bta_sdp.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/sdp/bta_sdp_act.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/sdp/bta_sdp_api.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/sdp/bta_sdp_cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/sys/bta_sys_conn.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/sys/bta_sys_main.c"
"${CMAKE_CURRENT_LIST_DIR}/bta/sys/utl.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_ble_storage.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_config.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_dev.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_dm.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_main.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_profile_queue.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_sec.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_sm.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_storage.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/core/btc_util.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/a2dp/bta_av_co.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/a2dp/btc_a2dp.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/a2dp/btc_a2dp_control.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/a2dp/btc_a2dp_sink.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/a2dp/btc_a2dp_source.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/a2dp/btc_av.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/avrc/btc_avrc.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/avrc/bta_avrc_co.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/hf_ag/bta_ag_co.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/hf_ag/btc_hf_ag.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/hf_client/btc_hf_client.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/hf_client/bta_hf_client_co.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/hid/btc_hd.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/hid/btc_hh.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/hid/bta_hh_co.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/gap/btc_gap_ble.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/gap/btc_gap_bt.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/gap/bta_gap_bt_co.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/gatt/btc_gatt_common.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/gatt/btc_gatt_util.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/gatt/btc_gattc.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/gatt/btc_gatts.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/spp/btc_spp.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/sdp/btc_sdp.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/l2cap/btc_l2cap.c"
"${CMAKE_CURRENT_LIST_DIR}/device/bdaddr.c"
"${CMAKE_CURRENT_LIST_DIR}/device/controller.c"
"${CMAKE_CURRENT_LIST_DIR}/device/interop.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/alloc.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/bitalloc-sbc.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/bitalloc.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/bitstream-decode.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/decoder-oina.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/decoder-private.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/decoder-sbc.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/dequant.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/framing-sbc.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/framing.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/oi_codec_version.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/synthesis-8-generated.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/synthesis-dct8.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/srce/synthesis-sbc.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_analysis.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_dct.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_dct_coeffs.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_enc_bit_alloc_mono.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_enc_bit_alloc_ste.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_enc_coeffs.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_encoder.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/srce/sbc_packing.c"
"${CMAKE_CURRENT_LIST_DIR}/external/sbc/plc/sbc_plc.c"
"${CMAKE_CURRENT_LIST_DIR}/hci/hci_audio.c"
"${CMAKE_CURRENT_LIST_DIR}/hci/hci_hal_h4.c"
"${CMAKE_CURRENT_LIST_DIR}/hci/hci_layer.c"
"${CMAKE_CURRENT_LIST_DIR}/hci/hci_packet_factory.c"
"${CMAKE_CURRENT_LIST_DIR}/hci/hci_packet_parser.c"
"${CMAKE_CURRENT_LIST_DIR}/hci/packet_fragmenter.c"
"${CMAKE_CURRENT_LIST_DIR}/main/bte_init.c"
"${CMAKE_CURRENT_LIST_DIR}/main/bte_main.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/a2dp/a2d_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/a2dp/a2d_sbc.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avct/avct_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avct/avct_ccb.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avct/avct_l2c.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avct/avct_lcb.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avct/avct_lcb_act.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_ad.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_ccb.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_ccb_act.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_l2c.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_msg.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_scb.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avdt/avdt_scb_act.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_bld_ct.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_bld_tg.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_opt.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_pars_ct.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_pars_tg.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_sdp.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/avrc/avrc_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/hid/hidd_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/hid/hidd_conn.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/hid/hidh_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/hid/hidh_conn.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_acl.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_addr.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_adv_filter.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_batchscan.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_bgconn.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_cont_energy.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_gap.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_5_gap.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_multi_adv.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_privacy.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_dev.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_devctl.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_inq.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_bredr_pwr_ctrl.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_main.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_pm.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_sco.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_sec.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btu/btu_hcif.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btu/btu_init.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/btu/btu_task.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gap/gap_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gap/gap_ble.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gap/gap_conn.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gap/gap_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/att_protocol.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_attr.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_auth.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_cl.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_db.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_main.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_sr.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_sr_hash.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/gatt/gatt_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/hcic/hciblecmds.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/hcic/hcicmds.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_ble.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_csm.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_fcr.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_link.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_main.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_ucd.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2c_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/l2cap_client.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/port_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/port_rfc.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/port_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/rfc_l2cap_if.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/rfc_mx_fsm.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/rfc_port_fsm.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/rfc_port_if.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/rfc_ts_frames.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/rfc_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/sdp/sdp_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/sdp/sdp_db.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/sdp/sdp_discovery.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/sdp/sdp_main.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/sdp/sdp_server.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/sdp/sdp_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/aes.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/p_256_curvepara.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/p_256_ecc_pp.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/p_256_multprecision.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_act.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_api.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_br_main.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_cmac.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_keys.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_l2c.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_main.c"
"${CMAKE_CURRENT_LIST_DIR}/stack/smp/smp_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/config/stack_config.c"
# TODO: Add this file in the blufi cmake file
"${CMAKE_CURRENT_LIST_DIR}/../../common/btc/profile/esp/blufi/bluedroid_host/esp_blufi.c"
)
if(CONFIG_BT_BLE_FEAT_ISO_EN)
list(APPEND bluedroid_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_iso.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/iso/btc_iso_ble.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_iso_api.c"
"${CMAKE_CURRENT_LIST_DIR}/hci/ble_hci_iso.c"
)
endif()
if(CONFIG_BT_BLE_FEAT_CTE_EN)
list(APPEND bluedroid_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/stack/btm/btm_ble_cte.c"
"${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/cte/btc_ble_cte.c"
"${CMAKE_CURRENT_LIST_DIR}/api/esp_ble_cte_api.c"
)
endif()
# TODO: Added this file in the ble mesh cmake file
if(CONFIG_BLE_MESH)
list(APPEND bluedroid_host_srcs "${CMAKE_CURRENT_LIST_DIR}/../../esp_ble_mesh/core/bluedroid_host/adapter.c")
endif()
list(APPEND bluedroid_host_include_dirs
${CMAKE_CURRENT_LIST_DIR}/api/include/api
)
list(APPEND bluedroid_host_priv_include_dirs
${CMAKE_CURRENT_LIST_DIR}/bta/include
${CMAKE_CURRENT_LIST_DIR}/bta/ar/include
${CMAKE_CURRENT_LIST_DIR}/bta/av/include
${CMAKE_CURRENT_LIST_DIR}/bta/dm/include
${CMAKE_CURRENT_LIST_DIR}/bta/gatt/include
${CMAKE_CURRENT_LIST_DIR}/bta/hf_ag/include
${CMAKE_CURRENT_LIST_DIR}/bta/hf_client/include
${CMAKE_CURRENT_LIST_DIR}/bta/hd/include
${CMAKE_CURRENT_LIST_DIR}/bta/hh/include
${CMAKE_CURRENT_LIST_DIR}/bta/jv/include
${CMAKE_CURRENT_LIST_DIR}/bta/sdp/include
${CMAKE_CURRENT_LIST_DIR}/bta/sys/include
${CMAKE_CURRENT_LIST_DIR}/device/include
${CMAKE_CURRENT_LIST_DIR}/hci/include
${CMAKE_CURRENT_LIST_DIR}/external/sbc/decoder/include
${CMAKE_CURRENT_LIST_DIR}/external/sbc/encoder/include
${CMAKE_CURRENT_LIST_DIR}/external/sbc/plc/include
${CMAKE_CURRENT_LIST_DIR}/btc/profile/esp/include
${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/a2dp/include
${CMAKE_CURRENT_LIST_DIR}/btc/profile/std/include
${CMAKE_CURRENT_LIST_DIR}/btc/include
${CMAKE_CURRENT_LIST_DIR}/stack/btm/include
${CMAKE_CURRENT_LIST_DIR}/stack/gap/include
${CMAKE_CURRENT_LIST_DIR}/stack/gatt/include
${CMAKE_CURRENT_LIST_DIR}/stack/hid/include
${CMAKE_CURRENT_LIST_DIR}/stack/l2cap/include
${CMAKE_CURRENT_LIST_DIR}/stack/sdp/include
${CMAKE_CURRENT_LIST_DIR}/stack/smp/include
${CMAKE_CURRENT_LIST_DIR}/stack/avct/include
${CMAKE_CURRENT_LIST_DIR}/stack/avrc/include
${CMAKE_CURRENT_LIST_DIR}/stack/avdt/include
${CMAKE_CURRENT_LIST_DIR}/stack/a2dp/include
${CMAKE_CURRENT_LIST_DIR}/stack/rfcomm/include
${CMAKE_CURRENT_LIST_DIR}/stack/include
${CMAKE_CURRENT_LIST_DIR}/common/include
${CMAKE_CURRENT_LIST_DIR}/config/include
)
# Export the variables to the parent scope
set(bluedroid_host_srcs "${bluedroid_host_srcs}" PARENT_SCOPE)
set(bluedroid_host_include_dirs "${bluedroid_host_include_dirs}" PARENT_SCOPE)
set(bluedroid_host_priv_include_dirs "${bluedroid_host_priv_include_dirs}" PARENT_SCOPE)
+282
View File
@@ -0,0 +1,282 @@
function(set_nimble_host_compile_flags)
if(NOT CONFIG_BT_NIMBLE_ENABLED)
return()
endif()
# TODO: These warnings should be resolved in the NimBLE code
if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
# some variables in NimBLE are only used by asserts
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-but-set-variable -Wno-unused-variable)
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 15.0)
if(CONFIG_BT_NIMBLE_MESH)
set_source_files_properties("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/nimble/nimble/host/mesh/src/prov.c"
PROPERTIES COMPILE_FLAGS "-Wno-unterminated-string-initialization")
endif()
endif()
endfunction()
set(nimble_host_srcs "" PARENT_SCOPE)
set(nimble_host_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(nimble_host_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/esp-hci/include"
PARENT_SCOPE
)
return()
endif()
if(NOT CONFIG_BT_NIMBLE_ENABLED)
return()
endif()
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/src/transport.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/util/src/addr.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/gatt/src/ble_svc_gatt.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/tps/src/ble_svc_tps.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ias/src/ble_svc_ias.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ipss/src/ble_svc_ipss.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ans/src/ble_svc_ans.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/hr/src/ble_svc_hr.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/htp/src/ble_svc_htp.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/gap/src/ble_svc_gap.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/bas/src/ble_svc_bas.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/dis/src/ble_svc_dis.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/lls/src/ble_svc_lls.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/prox/src/ble_svc_prox.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/cts/src/ble_svc_cts.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/hid/src/ble_svc_hid.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/sps/src/ble_svc_sps.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/cte/src/ble_svc_cte.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ras/src/ble_svc_ras.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_cs.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_conn.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_store_util.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_sm.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_shutdown.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_l2cap_sig_cmd.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_hci_cmd.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_id.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_att_svr.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_gatts_lcl.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_ibeacon.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_atomic.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_sm_alg.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_stop.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_hci_evt.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_mqueue.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_periodic_sync.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_att.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_ead.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_aes_ccm.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_gattc.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_store.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_sm_lgcy.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_att_clt.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_l2cap_coc.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_mbuf.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_att_cmd.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_log.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_eddystone.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_startup.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_l2cap_sig.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_gap.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_sm_cmd.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_uuid.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_pvcy.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_flow.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_l2cap.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_sm_sc.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_misc.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_gatts.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_adv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_hci.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_hci_util.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_resolv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/store/ram/src/ble_store_ram.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/store/config/src/ble_store_config.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/store/config/src/ble_store_nvs.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_gattc_cache.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_gattc_cache_conn.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_eatt.c"
# NimBLE Porting
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/nimble/src/nimble_port.c"
"${CMAKE_CURRENT_LIST_DIR}/port/src/nvs_port.c"
"${CMAKE_CURRENT_LIST_DIR}/port/src/esp_nimble_mem.c"
# TODO: Add this file in the blufi cmake file
"${CMAKE_CURRENT_LIST_DIR}/../../common/btc/profile/esp/blufi/nimble_host/esp_blufi.c"
)
# TODO: Added this file in the ble mesh cmake file
if(CONFIG_BLE_MESH)
list(APPEND nimble_host_srcs "${CMAKE_CURRENT_LIST_DIR}/../../esp_ble_mesh/core/nimble_host/adapter.c")
endif()
if(CONFIG_BT_NIMBLE_ISO)
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_iso_hci.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/src/ble_hs_iso.c"
)
endif()
# Nimble porting layer for FreeRTOS
if(CONFIG_BT_DUAL_MODE_ARCH)
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/npl/esp-idf/src/nimble_port_freertos.c"
)
list(APPEND nimble_host_include_dirs
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/npl/esp-idf/include"
)
else()
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/npl/freertos/src/nimble_port_freertos.c"
)
endif()
if(CONFIG_BT_CONTROLLER_DISABLED)
# UART HCI driver for host only mode
if(CONFIG_BT_NIMBLE_TRANSPORT_UART)
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/uart_ll/src/hci_uart.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/common/hci_h4/src/hci_h4.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/nimble/src/hal_uart.c"
)
endif()
else()
# Inter-Process Communication (VHCI)
if(CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE)
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/esp-hci/src/esp_nimble_hci.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/esp_ipc_legacy/src/hci_esp_ipc_legacy.c"
)
list(APPEND nimble_host_include_dirs
${CMAKE_CURRENT_LIST_DIR}/esp-hci/include
)
elseif(CONFIG_BT_DUAL_MODE_ARCH)
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/esp_ipc_btdm/src/hci_esp_ipc.c"
)
else()
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/esp_ipc/src/hci_esp_ipc.c"
)
endif()
endif()
# Reuse the code from the controller to reduce flash usage
if(CONFIG_BT_CONTROLLER_DISABLED OR NOT CONFIG_SOC_ESP_NIMBLE_CONTROLLER)
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/nimble/src/endian.c"
#TODO: Split this into a separate file for the controller and the host
"${CMAKE_CURRENT_LIST_DIR}/../../porting/mem/os_mempool.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/nimble/src/mem.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/nimble/src/os_mbuf.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/nimble/src/os_msys_init.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/porting/npl/freertos/src/npl_os_freertos.c"
)
endif()
list(APPEND nimble_host_include_dirs
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ans/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/bas/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/dis/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/gap/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/gatt/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/hr/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/htp/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ias/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ipss/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/lls/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/prox/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/cts/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/tps/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/hid/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/sps/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/cte/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/util/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/store/ram/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/store/config/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/services/ras/include
${CMAKE_CURRENT_LIST_DIR}/nimble/porting/nimble/include
${CMAKE_CURRENT_LIST_DIR}/port/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/include
)
if(CONFIG_BT_CONTROLLER_DISABLED)
list(APPEND nimble_host_include_dirs
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/transport/common/hci_h4/include
)
endif()
if(CONFIG_BT_CONTROLLER_DISABLED OR NOT CONFIG_SOC_ESP_NIMBLE_CONTROLLER)
list(APPEND nimble_host_include_dirs
${CMAKE_CURRENT_LIST_DIR}/../../porting/include
${CMAKE_CURRENT_LIST_DIR}/nimble/porting/npl/freertos/include
)
endif()
# BLE NIMBLE MESH (Deprecated)
if(CONFIG_BT_NIMBLE_MESH)
list(APPEND nimble_host_srcs
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/shell.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/friend.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/crypto.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/settings.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/adv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/adv_ext.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/adv_legacy.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/model_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/msg.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/beacon.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/glue.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/model_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/transport.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/prov.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/mesh.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/access.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/cfg_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/cfg_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/light_model.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/health_cli.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/lpn.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/health_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/testing.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/aes-ccm.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/app_keys.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/cdb.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/cfg.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/pb_adv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/pb_gatt.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/pb_gatt_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/prov_device.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/provisioner.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/heartbeat.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/rpl.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/subnet.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/proxy_msg.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/proxy_srv.c"
"${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/net.c"
)
list(APPEND nimble_host_include_dirs
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/include
${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/include/host
)
set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/nimble/nimble/host/mesh/src/net.c"
PROPERTIES COMPILE_FLAGS -Wno-type-limits)
endif()
# Export the variables to the parent scope
set(nimble_host_srcs "${nimble_host_srcs}" PARENT_SCOPE)
set(nimble_host_include_dirs "${nimble_host_include_dirs}" PARENT_SCOPE)
+58
View File
@@ -0,0 +1,58 @@
set(porting_srcs "" PARENT_SCOPE)
set(porting_include_dirs "" PARENT_SCOPE)
set(porting_priv_include_dirs "" PARENT_SCOPE)
if(NOT CONFIG_BT_CONTROLLER_ENABLED)
return()
endif()
list(APPEND porting_priv_include_dirs
${CMAKE_CURRENT_SOURCE_DIR}/mem/
${CMAKE_CURRENT_SOURCE_DIR}/include
)
list(APPEND porting_srcs
"${CMAKE_CURRENT_SOURCE_DIR}/mem/bt_osi_mem.c"
"${CMAKE_CURRENT_SOURCE_DIR}/mem/os_msys_init.c"
"${CMAKE_CURRENT_SOURCE_DIR}/mem/os_mempool.c"
"${CMAKE_CURRENT_SOURCE_DIR}/npl/freertos/src/npl_os_freertos.c"
"${CMAKE_CURRENT_SOURCE_DIR}/transport/src/hci_transport.c"
)
if(CONFIG_BT_LE_HCI_INTERFACE_USE_RAM)
if(CONFIG_BT_NIMBLE_ENABLED)
list(APPEND porting_srcs
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/vhci/hci_driver_nimble.c"
)
else()
list(APPEND porting_srcs
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/vhci/hci_driver_standard.c"
)
endif()
elseif(CONFIG_BT_LE_HCI_INTERFACE_USE_UART)
list(APPEND porting_srcs
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/common/hci_driver_util.c"
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/common/hci_driver_h4.c"
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/common/hci_driver_mem.c"
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/uart/hci_driver_uart_config.c"
)
if(CONFIG_BT_LE_UART_HCI_DMA_MODE)
list(APPEND porting_srcs
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/uart/hci_driver_uart_dma.c"
)
else()
list(APPEND porting_srcs
"${CMAKE_CURRENT_SOURCE_DIR}/transport/driver/uart/hci_driver_uart.c"
)
endif()
endif()
list(APPEND porting_include_dirs
"${CMAKE_CURRENT_SOURCE_DIR}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/npl/freertos/include"
"${CMAKE_CURRENT_SOURCE_DIR}/transport/include"
)
set(porting_srcs ${porting_srcs} PARENT_SCOPE)
set(porting_include_dirs ${porting_include_dirs} PARENT_SCOPE)
set(porting_priv_include_dirs ${porting_priv_include_dirs} PARENT_SCOPE)