CMakeLists.txt 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864
  1. idf_build_get_property(target IDF_TARGET)
  2. if(${target} STREQUAL "linux")
  3. return() # This component is not supported by the POSIX/Linux simulator
  4. endif()
  5. # API headers that are used in the docs are also compiled
  6. # even if CONFIG_BT_ENABLED=n as long as CONFIG_IDF_DOC_BUILD=y
  7. if(CONFIG_IDF_TARGET_ESP32)
  8. set(target_specific_include_dirs include/esp32/include)
  9. elseif(CONFIG_IDF_TARGET_ESP32C3)
  10. set(target_specific_include_dirs include/esp32c3/include)
  11. elseif(CONFIG_IDF_TARGET_ESP32S3)
  12. set(target_specific_include_dirs include/esp32c3/include)
  13. elseif(CONFIG_IDF_TARGET_ESP32C2)
  14. set(target_specific_include_dirs include/esp32c2/include)
  15. elseif(CONFIG_IDF_TARGET_ESP32C6)
  16. set(target_specific_include_dirs include/esp32c6/include)
  17. elseif(CONFIG_IDF_TARGET_ESP32H2)
  18. set(target_specific_include_dirs include/esp32h2/include)
  19. endif()
  20. set(common_include_dirs
  21. common/api/include/api
  22. common/btc/profile/esp/blufi/include
  23. common/btc/profile/esp/include
  24. )
  25. set(ble_mesh_include_dirs
  26. "esp_ble_mesh/common/include"
  27. "esp_ble_mesh/common/tinycrypt/include"
  28. "esp_ble_mesh/core"
  29. "esp_ble_mesh/core/include"
  30. "esp_ble_mesh/core/storage"
  31. "esp_ble_mesh/btc/include"
  32. "esp_ble_mesh/models/common/include"
  33. "esp_ble_mesh/models/client/include"
  34. "esp_ble_mesh/models/server/include"
  35. "esp_ble_mesh/api/core/include"
  36. "esp_ble_mesh/api/models/include"
  37. "esp_ble_mesh/api"
  38. "esp_ble_mesh/v1.1/api/core/include"
  39. "esp_ble_mesh/v1.1/api/models/include"
  40. "esp_ble_mesh/v1.1/btc/include"
  41. "esp_ble_mesh/v1.1/include"
  42. )
  43. set(bluedroid_include_dirs host/bluedroid/api/include/api)
  44. set(nimble_hci_include_dirs host/nimble/esp-hci/include)
  45. if(CONFIG_IDF_DOC_BUILD)
  46. list(APPEND include_dirs
  47. ${target_specific_include_dirs}
  48. ${common_include_dirs}
  49. ${ble_mesh_include_dirs}
  50. ${bluedroid_include_dirs}
  51. ${nimble_hci_include_dirs})
  52. endif()
  53. if(CONFIG_BT_ENABLED)
  54. set(srcs "")
  55. set(include_dirs "")
  56. set(ldfragments "linker.lf")
  57. if(CONFIG_BT_CONTROLLER_ENABLED)
  58. if(CONFIG_IDF_TARGET_ESP32)
  59. list(APPEND srcs "controller/esp32/bt.c"
  60. "controller/esp32/hli_api.c"
  61. "controller/esp32/hli_vectors.S")
  62. elseif(CONFIG_IDF_TARGET_ESP32C3)
  63. list(APPEND srcs "controller/esp32c3/bt.c")
  64. elseif(CONFIG_IDF_TARGET_ESP32S3)
  65. list(APPEND srcs "controller/esp32c3/bt.c")
  66. elseif(CONFIG_IDF_TARGET_ESP32C2)
  67. list(APPEND srcs "controller/esp32c2/bt.c")
  68. elseif(CONFIG_IDF_TARGET_ESP32C2)
  69. set(ldfragments "linker.lf.esp32c2")
  70. list(APPEND srcs "controller/esp32c2/bt.c")
  71. elseif(CONFIG_IDF_TARGET_ESP32C6)
  72. list(APPEND srcs "controller/esp32c6/bt.c")
  73. elseif(CONFIG_IDF_TARGET_ESP32H2)
  74. list(APPEND srcs "controller/esp32h2/bt.c")
  75. endif()
  76. list(APPEND include_dirs ${target_specific_include_dirs})
  77. endif()
  78. # Common
  79. list(APPEND include_dirs common/osi/include)
  80. list(APPEND priv_include_dirs
  81. common/btc/include
  82. common/include
  83. porting/mem/
  84. )
  85. list(APPEND include_dirs ${common_include_dirs})
  86. list(APPEND srcs "common/btc/core/btc_alarm.c"
  87. "common/api/esp_blufi_api.c"
  88. "common/btc/core/btc_manage.c"
  89. "common/btc/core/btc_task.c"
  90. "common/btc/profile/esp/blufi/blufi_prf.c"
  91. "common/btc/profile/esp/blufi/blufi_protocol.c"
  92. "common/osi/alarm.c"
  93. "common/osi/allocator.c"
  94. "common/osi/buffer.c"
  95. "common/osi/config.c"
  96. "common/osi/fixed_queue.c"
  97. "common/osi/pkt_queue.c"
  98. "common/osi/fixed_pkt_queue.c"
  99. "common/osi/future.c"
  100. "common/osi/hash_functions.c"
  101. "common/osi/hash_map.c"
  102. "common/osi/list.c"
  103. "common/osi/mutex.c"
  104. "common/osi/thread.c"
  105. "common/osi/osi.c"
  106. "common/osi/semaphore.c"
  107. "porting/mem/bt_osi_mem.c"
  108. )
  109. # Host Bluedroid
  110. if(CONFIG_BT_BLUEDROID_ENABLED)
  111. list(APPEND priv_include_dirs
  112. host/bluedroid/bta/include
  113. host/bluedroid/bta/ar/include
  114. host/bluedroid/bta/av/include
  115. host/bluedroid/bta/dm/include
  116. host/bluedroid/bta/gatt/include
  117. host/bluedroid/bta/hf_ag/include
  118. host/bluedroid/bta/hf_client/include
  119. host/bluedroid/bta/hd/include
  120. host/bluedroid/bta/hh/include
  121. host/bluedroid/bta/jv/include
  122. host/bluedroid/bta/sdp/include
  123. host/bluedroid/bta/sys/include
  124. host/bluedroid/device/include
  125. host/bluedroid/hci/include
  126. host/bluedroid/external/sbc/decoder/include
  127. host/bluedroid/external/sbc/encoder/include
  128. host/bluedroid/external/sbc/plc/include
  129. host/bluedroid/btc/profile/esp/include
  130. host/bluedroid/btc/profile/std/a2dp/include
  131. host/bluedroid/btc/profile/std/include
  132. host/bluedroid/btc/include
  133. host/bluedroid/stack/btm/include
  134. host/bluedroid/stack/gap/include
  135. host/bluedroid/stack/gatt/include
  136. host/bluedroid/stack/hid/include
  137. host/bluedroid/stack/l2cap/include
  138. host/bluedroid/stack/sdp/include
  139. host/bluedroid/stack/smp/include
  140. host/bluedroid/stack/avct/include
  141. host/bluedroid/stack/avrc/include
  142. host/bluedroid/stack/avdt/include
  143. host/bluedroid/stack/a2dp/include
  144. host/bluedroid/stack/rfcomm/include
  145. host/bluedroid/stack/include
  146. host/bluedroid/common/include
  147. host/bluedroid/config/include)
  148. list(APPEND include_dirs ${bluedroid_include_dirs})
  149. list(APPEND srcs "host/bluedroid/api/esp_a2dp_api.c"
  150. "host/bluedroid/api/esp_avrc_api.c"
  151. "host/bluedroid/api/esp_bluedroid_hci.c"
  152. "host/bluedroid/api/esp_bt_device.c"
  153. "host/bluedroid/api/esp_bt_main.c"
  154. "host/bluedroid/api/esp_gap_ble_api.c"
  155. "host/bluedroid/api/esp_gap_bt_api.c"
  156. "host/bluedroid/api/esp_gatt_common_api.c"
  157. "host/bluedroid/api/esp_gattc_api.c"
  158. "host/bluedroid/api/esp_gatts_api.c"
  159. "host/bluedroid/api/esp_hidd_api.c"
  160. "host/bluedroid/api/esp_hidh_api.c"
  161. "host/bluedroid/api/esp_hf_ag_api.c"
  162. "host/bluedroid/api/esp_hf_client_api.c"
  163. "host/bluedroid/api/esp_spp_api.c"
  164. "host/bluedroid/api/esp_sdp_api.c"
  165. "host/bluedroid/api/esp_l2cap_bt_api.c"
  166. "host/bluedroid/bta/ar/bta_ar.c"
  167. "host/bluedroid/bta/av/bta_av_aact.c"
  168. "host/bluedroid/bta/av/bta_av_act.c"
  169. "host/bluedroid/bta/av/bta_av_api.c"
  170. "host/bluedroid/bta/av/bta_av_cfg.c"
  171. "host/bluedroid/bta/av/bta_av_ci.c"
  172. "host/bluedroid/bta/av/bta_av_main.c"
  173. "host/bluedroid/bta/av/bta_av_sbc.c"
  174. "host/bluedroid/bta/av/bta_av_ssm.c"
  175. "host/bluedroid/bta/dm/bta_dm_act.c"
  176. "host/bluedroid/bta/dm/bta_dm_api.c"
  177. "host/bluedroid/bta/dm/bta_dm_cfg.c"
  178. "host/bluedroid/bta/dm/bta_dm_ci.c"
  179. "host/bluedroid/bta/dm/bta_dm_co.c"
  180. "host/bluedroid/bta/dm/bta_dm_main.c"
  181. "host/bluedroid/bta/dm/bta_dm_pm.c"
  182. "host/bluedroid/bta/dm/bta_dm_sco.c"
  183. "host/bluedroid/bta/dm/bta_dm_qos.c"
  184. "host/bluedroid/bta/gatt/bta_gatt_common.c"
  185. "host/bluedroid/bta/gatt/bta_gattc_act.c"
  186. "host/bluedroid/bta/gatt/bta_gattc_api.c"
  187. "host/bluedroid/bta/gatt/bta_gattc_cache.c"
  188. "host/bluedroid/bta/gatt/bta_gattc_ci.c"
  189. "host/bluedroid/bta/gatt/bta_gattc_co.c"
  190. "host/bluedroid/bta/gatt/bta_gattc_main.c"
  191. "host/bluedroid/bta/gatt/bta_gattc_utils.c"
  192. "host/bluedroid/bta/gatt/bta_gatts_act.c"
  193. "host/bluedroid/bta/gatt/bta_gatts_api.c"
  194. "host/bluedroid/bta/gatt/bta_gatts_co.c"
  195. "host/bluedroid/bta/gatt/bta_gatts_main.c"
  196. "host/bluedroid/bta/gatt/bta_gatts_utils.c"
  197. "host/bluedroid/bta/hd/bta_hd_api.c"
  198. "host/bluedroid/bta/hd/bta_hd_act.c"
  199. "host/bluedroid/bta/hd/bta_hd_main.c"
  200. "host/bluedroid/bta/hh/bta_hh_act.c"
  201. "host/bluedroid/bta/hh/bta_hh_api.c"
  202. "host/bluedroid/bta/hh/bta_hh_cfg.c"
  203. "host/bluedroid/bta/hh/bta_hh_le.c"
  204. "host/bluedroid/bta/hh/bta_hh_main.c"
  205. "host/bluedroid/bta/hh/bta_hh_utils.c"
  206. "host/bluedroid/bta/jv/bta_jv_act.c"
  207. "host/bluedroid/bta/jv/bta_jv_api.c"
  208. "host/bluedroid/bta/jv/bta_jv_cfg.c"
  209. "host/bluedroid/bta/jv/bta_jv_main.c"
  210. "host/bluedroid/bta/hf_ag/bta_ag_act.c"
  211. "host/bluedroid/bta/hf_ag/bta_ag_api.c"
  212. "host/bluedroid/bta/hf_ag/bta_ag_at.c"
  213. "host/bluedroid/bta/hf_ag/bta_ag_cfg.c"
  214. "host/bluedroid/bta/hf_ag/bta_ag_cmd.c"
  215. "host/bluedroid/bta/hf_ag/bta_ag_main.c"
  216. "host/bluedroid/bta/hf_ag/bta_ag_rfc.c"
  217. "host/bluedroid/bta/hf_ag/bta_ag_sco.c"
  218. "host/bluedroid/bta/hf_ag/bta_ag_sdp.c"
  219. "host/bluedroid/bta/hf_client/bta_hf_client_act.c"
  220. "host/bluedroid/bta/hf_client/bta_hf_client_api.c"
  221. "host/bluedroid/bta/hf_client/bta_hf_client_at.c"
  222. "host/bluedroid/bta/hf_client/bta_hf_client_cmd.c"
  223. "host/bluedroid/bta/hf_client/bta_hf_client_main.c"
  224. "host/bluedroid/bta/hf_client/bta_hf_client_rfc.c"
  225. "host/bluedroid/bta/hf_client/bta_hf_client_sco.c"
  226. "host/bluedroid/bta/hf_client/bta_hf_client_sdp.c"
  227. "host/bluedroid/bta/sdp/bta_sdp.c"
  228. "host/bluedroid/bta/sdp/bta_sdp_act.c"
  229. "host/bluedroid/bta/sdp/bta_sdp_api.c"
  230. "host/bluedroid/bta/sdp/bta_sdp_cfg.c"
  231. "host/bluedroid/bta/sys/bta_sys_conn.c"
  232. "host/bluedroid/bta/sys/bta_sys_main.c"
  233. "host/bluedroid/bta/sys/utl.c"
  234. "host/bluedroid/btc/core/btc_ble_storage.c"
  235. "host/bluedroid/btc/core/btc_config.c"
  236. "host/bluedroid/btc/core/btc_dev.c"
  237. "host/bluedroid/btc/core/btc_dm.c"
  238. "host/bluedroid/btc/core/btc_main.c"
  239. "host/bluedroid/btc/core/btc_profile_queue.c"
  240. "host/bluedroid/btc/core/btc_sec.c"
  241. "host/bluedroid/btc/core/btc_sm.c"
  242. "host/bluedroid/btc/core/btc_storage.c"
  243. "host/bluedroid/btc/core/btc_util.c"
  244. "host/bluedroid/btc/profile/std/a2dp/bta_av_co.c"
  245. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp.c"
  246. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp_control.c"
  247. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp_sink.c"
  248. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp_source.c"
  249. "host/bluedroid/btc/profile/std/a2dp/btc_av.c"
  250. "host/bluedroid/btc/profile/std/avrc/btc_avrc.c"
  251. "host/bluedroid/btc/profile/std/avrc/bta_avrc_co.c"
  252. "host/bluedroid/btc/profile/std/hf_ag/bta_ag_co.c"
  253. "host/bluedroid/btc/profile/std/hf_ag/btc_hf_ag.c"
  254. "host/bluedroid/btc/profile/std/hf_client/btc_hf_client.c"
  255. "host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c"
  256. "host/bluedroid/btc/profile/std/hid/btc_hd.c"
  257. "host/bluedroid/btc/profile/std/hid/btc_hh.c"
  258. "host/bluedroid/btc/profile/std/hid/bta_hh_co.c"
  259. "host/bluedroid/btc/profile/std/gap/btc_gap_ble.c"
  260. "host/bluedroid/btc/profile/std/gap/btc_gap_bt.c"
  261. "host/bluedroid/btc/profile/std/gap/bta_gap_bt_co.c"
  262. "host/bluedroid/btc/profile/std/gatt/btc_gatt_common.c"
  263. "host/bluedroid/btc/profile/std/gatt/btc_gatt_util.c"
  264. "host/bluedroid/btc/profile/std/gatt/btc_gattc.c"
  265. "host/bluedroid/btc/profile/std/gatt/btc_gatts.c"
  266. "host/bluedroid/btc/profile/std/spp/btc_spp.c"
  267. "host/bluedroid/btc/profile/std/sdp/btc_sdp.c"
  268. "host/bluedroid/btc/profile/std/l2cap/btc_l2cap.c"
  269. "host/bluedroid/device/bdaddr.c"
  270. "host/bluedroid/device/controller.c"
  271. "host/bluedroid/device/interop.c"
  272. "host/bluedroid/external/sbc/decoder/srce/alloc.c"
  273. "host/bluedroid/external/sbc/decoder/srce/bitalloc-sbc.c"
  274. "host/bluedroid/external/sbc/decoder/srce/bitalloc.c"
  275. "host/bluedroid/external/sbc/decoder/srce/bitstream-decode.c"
  276. "host/bluedroid/external/sbc/decoder/srce/decoder-oina.c"
  277. "host/bluedroid/external/sbc/decoder/srce/decoder-private.c"
  278. "host/bluedroid/external/sbc/decoder/srce/decoder-sbc.c"
  279. "host/bluedroid/external/sbc/decoder/srce/dequant.c"
  280. "host/bluedroid/external/sbc/decoder/srce/framing-sbc.c"
  281. "host/bluedroid/external/sbc/decoder/srce/framing.c"
  282. "host/bluedroid/external/sbc/decoder/srce/oi_codec_version.c"
  283. "host/bluedroid/external/sbc/decoder/srce/synthesis-8-generated.c"
  284. "host/bluedroid/external/sbc/decoder/srce/synthesis-dct8.c"
  285. "host/bluedroid/external/sbc/decoder/srce/synthesis-sbc.c"
  286. "host/bluedroid/external/sbc/encoder/srce/sbc_analysis.c"
  287. "host/bluedroid/external/sbc/encoder/srce/sbc_dct.c"
  288. "host/bluedroid/external/sbc/encoder/srce/sbc_dct_coeffs.c"
  289. "host/bluedroid/external/sbc/encoder/srce/sbc_enc_bit_alloc_mono.c"
  290. "host/bluedroid/external/sbc/encoder/srce/sbc_enc_bit_alloc_ste.c"
  291. "host/bluedroid/external/sbc/encoder/srce/sbc_enc_coeffs.c"
  292. "host/bluedroid/external/sbc/encoder/srce/sbc_encoder.c"
  293. "host/bluedroid/external/sbc/encoder/srce/sbc_packing.c"
  294. "host/bluedroid/external/sbc/plc/sbc_plc.c"
  295. "host/bluedroid/hci/hci_audio.c"
  296. "host/bluedroid/hci/hci_hal_h4.c"
  297. "host/bluedroid/hci/hci_layer.c"
  298. "host/bluedroid/hci/hci_packet_factory.c"
  299. "host/bluedroid/hci/hci_packet_parser.c"
  300. "host/bluedroid/hci/packet_fragmenter.c"
  301. "host/bluedroid/main/bte_init.c"
  302. "host/bluedroid/main/bte_main.c"
  303. "host/bluedroid/stack/a2dp/a2d_api.c"
  304. "host/bluedroid/stack/a2dp/a2d_sbc.c"
  305. "host/bluedroid/stack/avct/avct_api.c"
  306. "host/bluedroid/stack/avct/avct_ccb.c"
  307. "host/bluedroid/stack/avct/avct_l2c.c"
  308. "host/bluedroid/stack/avct/avct_lcb.c"
  309. "host/bluedroid/stack/avct/avct_lcb_act.c"
  310. "host/bluedroid/stack/avdt/avdt_ad.c"
  311. "host/bluedroid/stack/avdt/avdt_api.c"
  312. "host/bluedroid/stack/avdt/avdt_ccb.c"
  313. "host/bluedroid/stack/avdt/avdt_ccb_act.c"
  314. "host/bluedroid/stack/avdt/avdt_l2c.c"
  315. "host/bluedroid/stack/avdt/avdt_msg.c"
  316. "host/bluedroid/stack/avdt/avdt_scb.c"
  317. "host/bluedroid/stack/avdt/avdt_scb_act.c"
  318. "host/bluedroid/stack/avrc/avrc_api.c"
  319. "host/bluedroid/stack/avrc/avrc_bld_ct.c"
  320. "host/bluedroid/stack/avrc/avrc_bld_tg.c"
  321. "host/bluedroid/stack/avrc/avrc_opt.c"
  322. "host/bluedroid/stack/avrc/avrc_pars_ct.c"
  323. "host/bluedroid/stack/avrc/avrc_pars_tg.c"
  324. "host/bluedroid/stack/avrc/avrc_sdp.c"
  325. "host/bluedroid/stack/avrc/avrc_utils.c"
  326. "host/bluedroid/stack/hid/hidd_api.c"
  327. "host/bluedroid/stack/hid/hidd_conn.c"
  328. "host/bluedroid/stack/hid/hidh_api.c"
  329. "host/bluedroid/stack/hid/hidh_conn.c"
  330. "host/bluedroid/stack/btm/btm_acl.c"
  331. "host/bluedroid/stack/btm/btm_ble.c"
  332. "host/bluedroid/stack/btm/btm_ble_addr.c"
  333. "host/bluedroid/stack/btm/btm_ble_adv_filter.c"
  334. "host/bluedroid/stack/btm/btm_ble_batchscan.c"
  335. "host/bluedroid/stack/btm/btm_ble_bgconn.c"
  336. "host/bluedroid/stack/btm/btm_ble_cont_energy.c"
  337. "host/bluedroid/stack/btm/btm_ble_gap.c"
  338. "host/bluedroid/stack/btm/btm_ble_5_gap.c"
  339. "host/bluedroid/stack/btm/btm_ble_multi_adv.c"
  340. "host/bluedroid/stack/btm/btm_ble_privacy.c"
  341. "host/bluedroid/stack/btm/btm_dev.c"
  342. "host/bluedroid/stack/btm/btm_devctl.c"
  343. "host/bluedroid/stack/btm/btm_inq.c"
  344. "host/bluedroid/stack/btm/btm_main.c"
  345. "host/bluedroid/stack/btm/btm_pm.c"
  346. "host/bluedroid/stack/btm/btm_sco.c"
  347. "host/bluedroid/stack/btm/btm_sec.c"
  348. "host/bluedroid/stack/btu/btu_hcif.c"
  349. "host/bluedroid/stack/btu/btu_init.c"
  350. "host/bluedroid/stack/btu/btu_task.c"
  351. "host/bluedroid/stack/gap/gap_api.c"
  352. "host/bluedroid/stack/gap/gap_ble.c"
  353. "host/bluedroid/stack/gap/gap_conn.c"
  354. "host/bluedroid/stack/gap/gap_utils.c"
  355. "host/bluedroid/stack/gatt/att_protocol.c"
  356. "host/bluedroid/stack/gatt/gatt_api.c"
  357. "host/bluedroid/stack/gatt/gatt_attr.c"
  358. "host/bluedroid/stack/gatt/gatt_auth.c"
  359. "host/bluedroid/stack/gatt/gatt_cl.c"
  360. "host/bluedroid/stack/gatt/gatt_db.c"
  361. "host/bluedroid/stack/gatt/gatt_main.c"
  362. "host/bluedroid/stack/gatt/gatt_sr.c"
  363. "host/bluedroid/stack/gatt/gatt_sr_hash.c"
  364. "host/bluedroid/stack/gatt/gatt_utils.c"
  365. "host/bluedroid/stack/hcic/hciblecmds.c"
  366. "host/bluedroid/stack/hcic/hcicmds.c"
  367. "host/bluedroid/stack/l2cap/l2c_api.c"
  368. "host/bluedroid/stack/l2cap/l2c_ble.c"
  369. "host/bluedroid/stack/l2cap/l2c_csm.c"
  370. "host/bluedroid/stack/l2cap/l2c_fcr.c"
  371. "host/bluedroid/stack/l2cap/l2c_link.c"
  372. "host/bluedroid/stack/l2cap/l2c_main.c"
  373. "host/bluedroid/stack/l2cap/l2c_ucd.c"
  374. "host/bluedroid/stack/l2cap/l2c_utils.c"
  375. "host/bluedroid/stack/l2cap/l2cap_client.c"
  376. "host/bluedroid/stack/rfcomm/port_api.c"
  377. "host/bluedroid/stack/rfcomm/port_rfc.c"
  378. "host/bluedroid/stack/rfcomm/port_utils.c"
  379. "host/bluedroid/stack/rfcomm/rfc_l2cap_if.c"
  380. "host/bluedroid/stack/rfcomm/rfc_mx_fsm.c"
  381. "host/bluedroid/stack/rfcomm/rfc_port_fsm.c"
  382. "host/bluedroid/stack/rfcomm/rfc_port_if.c"
  383. "host/bluedroid/stack/rfcomm/rfc_ts_frames.c"
  384. "host/bluedroid/stack/rfcomm/rfc_utils.c"
  385. "host/bluedroid/stack/sdp/sdp_api.c"
  386. "host/bluedroid/stack/sdp/sdp_db.c"
  387. "host/bluedroid/stack/sdp/sdp_discovery.c"
  388. "host/bluedroid/stack/sdp/sdp_main.c"
  389. "host/bluedroid/stack/sdp/sdp_server.c"
  390. "host/bluedroid/stack/sdp/sdp_utils.c"
  391. "host/bluedroid/stack/smp/aes.c"
  392. "host/bluedroid/stack/smp/p_256_curvepara.c"
  393. "host/bluedroid/stack/smp/p_256_ecc_pp.c"
  394. "host/bluedroid/stack/smp/p_256_multprecision.c"
  395. "host/bluedroid/stack/smp/smp_act.c"
  396. "host/bluedroid/stack/smp/smp_api.c"
  397. "host/bluedroid/stack/smp/smp_br_main.c"
  398. "host/bluedroid/stack/smp/smp_cmac.c"
  399. "host/bluedroid/stack/smp/smp_keys.c"
  400. "host/bluedroid/stack/smp/smp_l2c.c"
  401. "host/bluedroid/stack/smp/smp_main.c"
  402. "host/bluedroid/stack/smp/smp_utils.c"
  403. "host/bluedroid/config/stack_config.c")
  404. list(APPEND srcs "common/btc/profile/esp/blufi/bluedroid_host/esp_blufi.c")
  405. if(CONFIG_BLE_MESH)
  406. list(APPEND srcs "esp_ble_mesh/core/bluedroid_host/adapter.c")
  407. endif()
  408. endif()
  409. if(CONFIG_BLE_MESH)
  410. list(APPEND include_dirs ${ble_mesh_include_dirs})
  411. list(APPEND srcs "esp_ble_mesh/api/core/esp_ble_mesh_ble_api.c"
  412. "esp_ble_mesh/api/core/esp_ble_mesh_common_api.c"
  413. "esp_ble_mesh/api/core/esp_ble_mesh_local_data_operation_api.c"
  414. "esp_ble_mesh/api/core/esp_ble_mesh_low_power_api.c"
  415. "esp_ble_mesh/api/core/esp_ble_mesh_networking_api.c"
  416. "esp_ble_mesh/api/core/esp_ble_mesh_provisioning_api.c"
  417. "esp_ble_mesh/api/core/esp_ble_mesh_proxy_api.c"
  418. "esp_ble_mesh/api/models/esp_ble_mesh_config_model_api.c"
  419. "esp_ble_mesh/api/models/esp_ble_mesh_generic_model_api.c"
  420. "esp_ble_mesh/api/models/esp_ble_mesh_health_model_api.c"
  421. "esp_ble_mesh/api/models/esp_ble_mesh_lighting_model_api.c"
  422. "esp_ble_mesh/api/models/esp_ble_mesh_sensor_model_api.c"
  423. "esp_ble_mesh/api/models/esp_ble_mesh_time_scene_model_api.c"
  424. "esp_ble_mesh/btc/btc_ble_mesh_ble.c"
  425. "esp_ble_mesh/btc/btc_ble_mesh_config_model.c"
  426. "esp_ble_mesh/btc/btc_ble_mesh_generic_model.c"
  427. "esp_ble_mesh/btc/btc_ble_mesh_health_model.c"
  428. "esp_ble_mesh/btc/btc_ble_mesh_lighting_model.c"
  429. "esp_ble_mesh/btc/btc_ble_mesh_prov.c"
  430. "esp_ble_mesh/btc/btc_ble_mesh_sensor_model.c"
  431. "esp_ble_mesh/btc/btc_ble_mesh_time_scene_model.c"
  432. "esp_ble_mesh/common/tinycrypt/src/aes_decrypt.c"
  433. "esp_ble_mesh/common/tinycrypt/src/aes_encrypt.c"
  434. "esp_ble_mesh/common/tinycrypt/src/cbc_mode.c"
  435. "esp_ble_mesh/common/tinycrypt/src/ccm_mode.c"
  436. "esp_ble_mesh/common/tinycrypt/src/cmac_mode.c"
  437. "esp_ble_mesh/common/tinycrypt/src/ctr_mode.c"
  438. "esp_ble_mesh/common/tinycrypt/src/ctr_prng.c"
  439. "esp_ble_mesh/common/tinycrypt/src/ecc_dh.c"
  440. "esp_ble_mesh/common/tinycrypt/src/ecc_dsa.c"
  441. "esp_ble_mesh/common/tinycrypt/src/ecc_platform_specific.c"
  442. "esp_ble_mesh/common/tinycrypt/src/ecc.c"
  443. "esp_ble_mesh/common/tinycrypt/src/hmac_prng.c"
  444. "esp_ble_mesh/common/tinycrypt/src/hmac.c"
  445. "esp_ble_mesh/common/tinycrypt/src/sha256.c"
  446. "esp_ble_mesh/common/tinycrypt/src/utils.c"
  447. "esp_ble_mesh/common/atomic.c"
  448. "esp_ble_mesh/common/buf.c"
  449. "esp_ble_mesh/common/common.c"
  450. "esp_ble_mesh/common/kernel.c"
  451. "esp_ble_mesh/common/mutex.c"
  452. "esp_ble_mesh/common/timer.c"
  453. "esp_ble_mesh/common/utils.c"
  454. "esp_ble_mesh/core/storage/settings_nvs.c"
  455. "esp_ble_mesh/core/storage/settings_uid.c"
  456. "esp_ble_mesh/core/storage/settings.c"
  457. "esp_ble_mesh/core/access.c"
  458. "esp_ble_mesh/core/adv.c"
  459. "esp_ble_mesh/core/beacon.c"
  460. "esp_ble_mesh/core/cfg_cli.c"
  461. "esp_ble_mesh/core/cfg_srv.c"
  462. "esp_ble_mesh/core/crypto.c"
  463. "esp_ble_mesh/core/fast_prov.c"
  464. "esp_ble_mesh/core/friend.c"
  465. "esp_ble_mesh/core/health_cli.c"
  466. "esp_ble_mesh/core/health_srv.c"
  467. "esp_ble_mesh/core/heartbeat.c"
  468. "esp_ble_mesh/core/local.c"
  469. "esp_ble_mesh/core/lpn.c"
  470. "esp_ble_mesh/core/main.c"
  471. "esp_ble_mesh/core/net.c"
  472. "esp_ble_mesh/core/prov_common.c"
  473. "esp_ble_mesh/core/prov_node.c"
  474. "esp_ble_mesh/core/prov_pvnr.c"
  475. "esp_ble_mesh/core/proxy_client.c"
  476. "esp_ble_mesh/core/proxy_server.c"
  477. "esp_ble_mesh/core/pvnr_mgmt.c"
  478. "esp_ble_mesh/core/rpl.c"
  479. "esp_ble_mesh/core/scan.c"
  480. "esp_ble_mesh/core/test.c"
  481. "esp_ble_mesh/models/common/device_property.c"
  482. "esp_ble_mesh/models/common/model_common.c"
  483. "esp_ble_mesh/models/client/client_common.c"
  484. "esp_ble_mesh/models/client/generic_client.c"
  485. "esp_ble_mesh/models/client/lighting_client.c"
  486. "esp_ble_mesh/models/client/sensor_client.c"
  487. "esp_ble_mesh/models/client/time_scene_client.c"
  488. "esp_ble_mesh/models/server/generic_server.c"
  489. "esp_ble_mesh/models/server/lighting_server.c"
  490. "esp_ble_mesh/models/server/sensor_server.c"
  491. "esp_ble_mesh/models/server/server_common.c"
  492. "esp_ble_mesh/models/server/state_binding.c"
  493. "esp_ble_mesh/models/server/state_transition.c"
  494. "esp_ble_mesh/models/server/time_scene_server.c"
  495. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_agg_model_api.c"
  496. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_brc_model_api.c"
  497. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_cm_data_api.c"
  498. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_df_model_api.c"
  499. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_lcd_model_api.c"
  500. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_odp_model_api.c"
  501. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_prb_model_api.c"
  502. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_rpr_model_api.c"
  503. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_sar_model_api.c"
  504. "esp_ble_mesh/v1.1/api/core/esp_ble_mesh_srpl_model_api.c"
  505. "esp_ble_mesh/v1.1/api/models/esp_ble_mesh_mbt_model_api.c"
  506. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_agg_model.c"
  507. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_brc_model.c"
  508. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_df_model.c"
  509. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_lcd_model.c"
  510. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_mbt_model.c"
  511. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_odp_model.c"
  512. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_prb_model.c"
  513. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_rpr_model.c"
  514. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_sar_model.c"
  515. "esp_ble_mesh/v1.1/btc/btc_ble_mesh_srpl_model.c"
  516. "esp_ble_mesh/v1.1/ext.c")
  517. if(CONFIG_BLE_MESH_SAR_ENHANCEMENT)
  518. list(APPEND srcs "esp_ble_mesh/core/transport.enh.c")
  519. else()
  520. list(APPEND srcs "esp_ble_mesh/core/transport.c")
  521. endif()
  522. endif()
  523. if(CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT)
  524. list(APPEND srcs
  525. "porting/npl/freertos/src/npl_os_freertos.c"
  526. "porting/nimble/src/os_msys_init.c"
  527. )
  528. list(APPEND include_dirs
  529. porting/include
  530. porting/nimble/include
  531. porting/npl/freertos/include
  532. porting/transport/include
  533. )
  534. if(CONFIG_BT_LE_HCI_INTERFACE_USE_UART)
  535. list(APPEND srcs
  536. "porting/transport/uart/hci_uart.c"
  537. )
  538. endif()
  539. endif()
  540. if(NOT (CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS OR CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS))
  541. list(APPEND include_dirs
  542. porting/ext/tinycrypt/include
  543. )
  544. list(APPEND srcs "porting/ext/tinycrypt/src/utils.c"
  545. "porting/ext/tinycrypt/src/sha256.c"
  546. "porting/ext/tinycrypt/src/ecc.c"
  547. "porting/ext/tinycrypt/src/ctr_prng.c"
  548. "porting/ext/tinycrypt/src/ctr_mode.c"
  549. "porting/ext/tinycrypt/src/aes_decrypt.c"
  550. "porting/ext/tinycrypt/src/aes_encrypt.c"
  551. "porting/ext/tinycrypt/src/ccm_mode.c"
  552. "porting/ext/tinycrypt/src/ecc_dsa.c"
  553. "porting/ext/tinycrypt/src/cmac_mode.c"
  554. "porting/ext/tinycrypt/src/ecc_dh.c"
  555. "porting/ext/tinycrypt/src/hmac_prng.c"
  556. "porting/ext/tinycrypt/src/ecc_platform_specific.c"
  557. "porting/ext/tinycrypt/src/hmac.c"
  558. "porting/ext/tinycrypt/src/cbc_mode.c")
  559. endif()
  560. if(CONFIG_BT_NIMBLE_ENABLED)
  561. list(APPEND include_dirs
  562. host/nimble/nimble/nimble/host/include
  563. host/nimble/nimble/nimble/host/services/ans/include
  564. host/nimble/nimble/nimble/host/services/bas/include
  565. host/nimble/nimble/nimble/host/services/dis/include
  566. host/nimble/nimble/nimble/host/services/gap/include
  567. host/nimble/nimble/nimble/host/services/gatt/include
  568. host/nimble/nimble/nimble/host/services/hr/include
  569. host/nimble/nimble/nimble/host/services/htp/include
  570. host/nimble/nimble/nimble/host/services/ias/include
  571. host/nimble/nimble/nimble/host/services/ipss/include
  572. host/nimble/nimble/nimble/host/services/lls/include
  573. host/nimble/nimble/nimble/host/services/prox/include
  574. host/nimble/nimble/nimble/host/services/cts/include
  575. host/nimble/nimble/nimble/host/services/tps/include
  576. host/nimble/nimble/nimble/host/util/include
  577. host/nimble/nimble/nimble/host/store/ram/include
  578. host/nimble/nimble/nimble/host/store/config/include
  579. )
  580. list(APPEND srcs "host/nimble/nimble/nimble/transport/src/transport.c"
  581. "host/nimble/nimble/nimble/host/util/src/addr.c"
  582. "host/nimble/nimble/nimble/host/services/gatt/src/ble_svc_gatt.c"
  583. "host/nimble/nimble/nimble/host/services/tps/src/ble_svc_tps.c"
  584. "host/nimble/nimble/nimble/host/services/ias/src/ble_svc_ias.c"
  585. "host/nimble/nimble/nimble/host/services/ipss/src/ble_svc_ipss.c"
  586. "host/nimble/nimble/nimble/host/services/ans/src/ble_svc_ans.c"
  587. "host/nimble/nimble/nimble/host/services/hr/src/ble_svc_hr.c"
  588. "host/nimble/nimble/nimble/host/services/htp/src/ble_svc_htp.c"
  589. "host/nimble/nimble/nimble/host/services/gap/src/ble_svc_gap.c"
  590. "host/nimble/nimble/nimble/host/services/bas/src/ble_svc_bas.c"
  591. "host/nimble/nimble/nimble/host/services/dis/src/ble_svc_dis.c"
  592. "host/nimble/nimble/nimble/host/services/lls/src/ble_svc_lls.c"
  593. "host/nimble/nimble/nimble/host/services/prox/src/ble_svc_prox.c"
  594. "host/nimble/nimble/nimble/host/services/cts/src/ble_svc_cts.c"
  595. "host/nimble/nimble/nimble/host/src/ble_hs_conn.c"
  596. "host/nimble/nimble/nimble/host/src/ble_store_util.c"
  597. "host/nimble/nimble/nimble/host/src/ble_sm.c"
  598. "host/nimble/nimble/nimble/host/src/ble_hs_shutdown.c"
  599. "host/nimble/nimble/nimble/host/src/ble_l2cap_sig_cmd.c"
  600. "host/nimble/nimble/nimble/host/src/ble_hs_hci_cmd.c"
  601. "host/nimble/nimble/nimble/host/src/ble_hs_id.c"
  602. "host/nimble/nimble/nimble/host/src/ble_att_svr.c"
  603. "host/nimble/nimble/nimble/host/src/ble_gatts_lcl.c"
  604. "host/nimble/nimble/nimble/host/src/ble_ibeacon.c"
  605. "host/nimble/nimble/nimble/host/src/ble_hs_atomic.c"
  606. "host/nimble/nimble/nimble/host/src/ble_sm_alg.c"
  607. "host/nimble/nimble/nimble/host/src/ble_hs_stop.c"
  608. "host/nimble/nimble/nimble/host/src/ble_hs.c"
  609. "host/nimble/nimble/nimble/host/src/ble_hs_hci_evt.c"
  610. "host/nimble/nimble/nimble/host/src/ble_hs_mqueue.c"
  611. "host/nimble/nimble/nimble/host/src/ble_hs_periodic_sync.c"
  612. "host/nimble/nimble/nimble/host/src/ble_att.c"
  613. "host/nimble/nimble/nimble/host/src/ble_ead.c"
  614. "host/nimble/nimble/nimble/host/src/ble_aes_ccm.c"
  615. "host/nimble/nimble/nimble/host/src/ble_gattc.c"
  616. "host/nimble/nimble/nimble/host/src/ble_store.c"
  617. "host/nimble/nimble/nimble/host/src/ble_sm_lgcy.c"
  618. "host/nimble/nimble/nimble/host/src/ble_hs_cfg.c"
  619. "host/nimble/nimble/nimble/host/src/ble_att_clt.c"
  620. "host/nimble/nimble/nimble/host/src/ble_l2cap_coc.c"
  621. "host/nimble/nimble/nimble/host/src/ble_hs_mbuf.c"
  622. "host/nimble/nimble/nimble/host/src/ble_att_cmd.c"
  623. "host/nimble/nimble/nimble/host/src/ble_hs_log.c"
  624. "host/nimble/nimble/nimble/host/src/ble_eddystone.c"
  625. "host/nimble/nimble/nimble/host/src/ble_hs_startup.c"
  626. "host/nimble/nimble/nimble/host/src/ble_l2cap_sig.c"
  627. "host/nimble/nimble/nimble/host/src/ble_gap.c"
  628. "host/nimble/nimble/nimble/host/src/ble_sm_cmd.c"
  629. "host/nimble/nimble/nimble/host/src/ble_uuid.c"
  630. "host/nimble/nimble/nimble/host/src/ble_hs_pvcy.c"
  631. "host/nimble/nimble/nimble/host/src/ble_hs_flow.c"
  632. "host/nimble/nimble/nimble/host/src/ble_l2cap.c"
  633. "host/nimble/nimble/nimble/host/src/ble_sm_sc.c"
  634. "host/nimble/nimble/nimble/host/src/ble_hs_misc.c"
  635. "host/nimble/nimble/nimble/host/src/ble_gatts.c"
  636. "host/nimble/nimble/nimble/host/src/ble_hs_adv.c"
  637. "host/nimble/nimble/nimble/host/src/ble_hs_hci.c"
  638. "host/nimble/nimble/nimble/host/src/ble_hs_hci_util.c"
  639. "host/nimble/nimble/nimble/host/src/ble_hs_resolv.c"
  640. "host/nimble/nimble/nimble/host/store/ram/src/ble_store_ram.c"
  641. "host/nimble/nimble/nimble/host/store/config/src/ble_store_config.c"
  642. "host/nimble/nimble/nimble/host/store/config/src/ble_store_nvs.c"
  643. )
  644. list(APPEND srcs
  645. "host/nimble/nimble/porting/nimble/src/nimble_port.c"
  646. "host/nimble/nimble/porting/npl/freertos/src/nimble_port_freertos.c"
  647. )
  648. list(APPEND include_dirs
  649. porting/include
  650. host/nimble/nimble/porting/nimble/include
  651. host/nimble/port/include
  652. host/nimble/nimble/nimble/transport/include
  653. )
  654. if(NOT CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT)
  655. list(APPEND srcs
  656. "host/nimble/nimble/porting/nimble/src/endian.c"
  657. "host/nimble/nimble/porting/nimble/src/os_mempool.c"
  658. "host/nimble/nimble/porting/nimble/src/mem.c"
  659. "host/nimble/nimble/porting/nimble/src/os_mbuf.c"
  660. "host/nimble/nimble/porting/nimble/src/os_msys_init.c"
  661. "host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c"
  662. )
  663. list(APPEND include_dirs
  664. host/nimble/nimble/porting/npl/freertos/include
  665. host/nimble/nimble/porting/nimble/include
  666. host/nimble/nimble/nimble/include
  667. )
  668. endif()
  669. if(CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE)
  670. list(APPEND srcs
  671. "host/nimble/esp-hci/src/esp_nimble_hci.c"
  672. )
  673. list(APPEND include_dirs ${nimble_hci_include_dirs})
  674. endif()
  675. list(APPEND srcs
  676. "common/btc/profile/esp/blufi/nimble_host/esp_blufi.c")
  677. if(CONFIG_BLE_MESH)
  678. list(APPEND srcs "esp_ble_mesh/core/nimble_host/adapter.c")
  679. endif()
  680. if(CONFIG_BT_NIMBLE_MESH)
  681. list(APPEND include_dirs
  682. host/nimble/nimble/nimble/host/mesh/include
  683. host/nimble/nimble/nimble/host/include/host)
  684. list(APPEND srcs "host/nimble/nimble/nimble/host/mesh/src/shell.c"
  685. "host/nimble/nimble/nimble/host/mesh/src/friend.c"
  686. "host/nimble/nimble/nimble/host/mesh/src/crypto.c"
  687. "host/nimble/nimble/nimble/host/mesh/src/settings.c"
  688. "host/nimble/nimble/nimble/host/mesh/src/adv.c"
  689. "host/nimble/nimble/nimble/host/mesh/src/adv_ext.c"
  690. "host/nimble/nimble/nimble/host/mesh/src/adv_legacy.c"
  691. "host/nimble/nimble/nimble/host/mesh/src/model_srv.c"
  692. "host/nimble/nimble/nimble/host/mesh/src/msg.c"
  693. "host/nimble/nimble/nimble/host/mesh/src/beacon.c"
  694. "host/nimble/nimble/nimble/host/mesh/src/glue.c"
  695. "host/nimble/nimble/nimble/host/mesh/src/model_cli.c"
  696. "host/nimble/nimble/nimble/host/mesh/src/transport.c"
  697. "host/nimble/nimble/nimble/host/mesh/src/prov.c"
  698. "host/nimble/nimble/nimble/host/mesh/src/mesh.c"
  699. "host/nimble/nimble/nimble/host/mesh/src/access.c"
  700. "host/nimble/nimble/nimble/host/mesh/src/cfg_srv.c"
  701. "host/nimble/nimble/nimble/host/mesh/src/cfg_cli.c"
  702. "host/nimble/nimble/nimble/host/mesh/src/light_model.c"
  703. "host/nimble/nimble/nimble/host/mesh/src/health_cli.c"
  704. "host/nimble/nimble/nimble/host/mesh/src/lpn.c"
  705. "host/nimble/nimble/nimble/host/mesh/src/health_srv.c"
  706. "host/nimble/nimble/nimble/host/mesh/src/testing.c"
  707. "host/nimble/nimble/nimble/host/mesh/src/aes-ccm.c"
  708. "host/nimble/nimble/nimble/host/mesh/src/app_keys.c"
  709. "host/nimble/nimble/nimble/host/mesh/src/cdb.c"
  710. "host/nimble/nimble/nimble/host/mesh/src/cfg.c"
  711. "host/nimble/nimble/nimble/host/mesh/src/pb_adv.c"
  712. "host/nimble/nimble/nimble/host/mesh/src/pb_gatt.c"
  713. "host/nimble/nimble/nimble/host/mesh/src/pb_gatt_srv.c"
  714. "host/nimble/nimble/nimble/host/mesh/src/prov_device.c"
  715. "host/nimble/nimble/nimble/host/mesh/src/provisioner.c"
  716. "host/nimble/nimble/nimble/host/mesh/src/heartbeat.c"
  717. "host/nimble/nimble/nimble/host/mesh/src/rpl.c"
  718. "host/nimble/nimble/nimble/host/mesh/src/subnet.c"
  719. "host/nimble/nimble/nimble/host/mesh/src/proxy_msg.c"
  720. "host/nimble/nimble/nimble/host/mesh/src/proxy_srv.c"
  721. "host/nimble/nimble/nimble/host/mesh/src/net.c")
  722. endif()
  723. endif()
  724. endif()
  725. idf_component_register(SRCS "${srcs}"
  726. INCLUDE_DIRS "${include_dirs}"
  727. PRIV_INCLUDE_DIRS "${priv_include_dirs}"
  728. REQUIRES esp_timer esp_wifi
  729. PRIV_REQUIRES nvs_flash soc esp_pm esp_phy esp_coex mbedtls driver vfs
  730. LDFRAGMENTS "${ldfragments}")
  731. if(CONFIG_BT_ENABLED)
  732. target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-implicit-fallthrough -Wno-unused-const-variable)
  733. if(CONFIG_IDF_TARGET_ESP32)
  734. target_link_directories(${COMPONENT_LIB} INTERFACE "${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32/esp32")
  735. target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
  736. target_link_libraries(${COMPONENT_LIB} INTERFACE "-u ld_include_hli_vectors_bt")
  737. elseif(CONFIG_IDF_TARGET_ESP32C3)
  738. target_link_directories(${COMPONENT_LIB} INTERFACE
  739. "${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32c3")
  740. target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
  741. elseif(CONFIG_IDF_TARGET_ESP32S3)
  742. target_link_directories(${COMPONENT_LIB} INTERFACE
  743. "${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32s3")
  744. target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
  745. elseif(CONFIG_IDF_TARGET_ESP32C2)
  746. add_prebuilt_library(libble_app "controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a")
  747. target_link_libraries(${COMPONENT_LIB} PRIVATE libble_app)
  748. elseif(CONFIG_IDF_TARGET_ESP32C6)
  749. add_prebuilt_library(libble_app "controller/lib_esp32c6/esp32c6-bt-lib/libble_app.a")
  750. target_link_libraries(${COMPONENT_LIB} PRIVATE libble_app)
  751. elseif(CONFIG_IDF_TARGET_ESP32H2)
  752. add_prebuilt_library(libble_app "controller/lib_esp32h2/esp32h2-bt-lib/libble_app.a")
  753. target_link_libraries(${COMPONENT_LIB} PRIVATE libble_app)
  754. endif()
  755. set_source_files_properties(
  756. "host/bluedroid/bta/gatt/bta_gattc_act.c"
  757. "host/bluedroid/bta/gatt/bta_gattc_cache.c"
  758. "host/bluedroid/btc/profile/std/gatt/btc_gatt_util.c"
  759. "host/bluedroid/btc/profile/std/gatt/btc_gatts.c"
  760. PROPERTIES COMPILE_FLAGS -Wno-address-of-packed-member)
  761. target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format")
  762. endif()
  763. if(CONFIG_BLE_MESH)
  764. if(CONFIG_IDF_TARGET_ESP32)
  765. add_prebuilt_library(mesh_v11 "esp_ble_mesh/v1.1/lib/esp32/libmesh_v1.1.a")
  766. target_link_libraries(${COMPONENT_LIB} PRIVATE mesh_v11)
  767. elseif(CONFIG_IDF_TARGET_ESP32S3)
  768. add_prebuilt_library(mesh_v11 "esp_ble_mesh/v1.1/lib/esp32s3/libmesh_v1.1.a")
  769. target_link_libraries(${COMPONENT_LIB} PRIVATE mesh_v11)
  770. elseif(CONFIG_IDF_TARGET_ESP32C3)
  771. add_prebuilt_library(mesh_v11 "esp_ble_mesh/v1.1/lib/esp32c3/libmesh_v1.1.a")
  772. target_link_libraries(${COMPONENT_LIB} PRIVATE mesh_v11)
  773. elseif(CONFIG_IDF_TARGET_ESP32C6)
  774. add_prebuilt_library(mesh_v11 "esp_ble_mesh/v1.1/lib/esp32c6/libmesh_v1.1.a")
  775. target_link_libraries(${COMPONENT_LIB} PRIVATE mesh_v11)
  776. elseif(CONFIG_IDF_TARGET_ESP32H2)
  777. add_prebuilt_library(mesh_v11 "esp_ble_mesh/v1.1/lib/esp32h2/libmesh_v1.1.a")
  778. target_link_libraries(${COMPONENT_LIB} PRIVATE mesh_v11)
  779. endif()
  780. endif()
  781. if(CONFIG_BT_NIMBLE_MESH)
  782. set_source_files_properties("host/nimble/nimble/nimble/host/mesh/src/net.c"
  783. PROPERTIES COMPILE_FLAGS -Wno-type-limits)
  784. endif()
  785. if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE AND CONFIG_BT_NIMBLE_ENABLED)
  786. # some variables in NimBLE are only used by asserts
  787. target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-but-set-variable -Wno-unused-variable)
  788. endif()
  789. if(NOT CMAKE_BUILD_EARLY_EXPANSION)
  790. set(jump_table_opts "-fjump-tables")
  791. if(NOT (CMAKE_C_COMPILER_ID MATCHES "Clang") )
  792. set(jump_table_opts "${jump_table_opts} -ftree-switch-conversion")
  793. endif()
  794. set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/host/bluedroid/bta/hf_ag/bta_ag_cmd.c"
  795. "${CMAKE_CURRENT_LIST_DIR}/host/bluedroid/btc/profile/std/gap/btc_gap_ble.c"
  796. PROPERTIES COMPILE_FLAGS "${jump_table_opts}")
  797. endif()