2023-08-28 02:02:08 -04:00
|
|
|
idf_build_get_property(idf_target IDF_TARGET)
|
|
|
|
|
|
|
|
if(${idf_target} STREQUAL "linux")
|
|
|
|
return() # This component is not supported by the POSIX/Linux simulator
|
|
|
|
endif()
|
|
|
|
|
2024-03-27 04:29:09 -04:00
|
|
|
if(CONFIG_ESP_WIFI_ENABLED OR CONFIG_ESP_HOST_WIFI_ENABLED)
|
2021-06-08 08:09:27 -04:00
|
|
|
|
2022-01-06 23:22:56 -05:00
|
|
|
if(CONFIG_APP_NO_BLOBS)
|
2021-06-08 08:09:27 -04:00
|
|
|
set(link_binary_libs 0)
|
|
|
|
set(ldfragments)
|
|
|
|
else()
|
|
|
|
set(link_binary_libs 1)
|
|
|
|
set(ldfragments "linker.lf")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(IDF_TARGET_ESP32)
|
|
|
|
# dport workaround headers are in esp32 component
|
|
|
|
set(extra_priv_requires esp32)
|
|
|
|
else()
|
|
|
|
set(extra_priv_requires)
|
|
|
|
endif()
|
2019-06-04 03:02:01 -04:00
|
|
|
|
2021-06-08 08:09:27 -04:00
|
|
|
set(srcs
|
2024-03-27 04:29:09 -04:00
|
|
|
"src/lib_printf.c"
|
2021-06-08 08:09:27 -04:00
|
|
|
"src/mesh_event.c"
|
|
|
|
"src/smartconfig.c"
|
|
|
|
"src/wifi_init.c"
|
|
|
|
"src/wifi_default.c"
|
|
|
|
"src/wifi_netif.c"
|
2022-05-11 10:01:48 -04:00
|
|
|
"src/wifi_default_ap.c"
|
2021-06-08 08:09:27 -04:00
|
|
|
"${idf_target}/esp_adapter.c")
|
2022-09-23 02:59:37 -04:00
|
|
|
|
2022-10-03 11:28:01 -04:00
|
|
|
if(CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API AND CONFIG_LWIP_IPV4)
|
2022-09-23 02:59:37 -04:00
|
|
|
list(APPEND srcs
|
|
|
|
"src/smartconfig_ack.c")
|
|
|
|
endif()
|
2023-02-13 23:36:40 -05:00
|
|
|
|
|
|
|
if(CONFIG_ESP_WIFI_NAN_ENABLE)
|
2024-03-29 09:09:47 -04:00
|
|
|
list(APPEND srcs "wifi_apps/nan_app/src/nan_app.c")
|
|
|
|
endif()
|
|
|
|
if(CONFIG_ESP_WIFI_ENABLE_ROAMING_APP)
|
|
|
|
list(APPEND srcs "wifi_apps/roaming_app/src/roaming_app.c")
|
2023-02-13 23:36:40 -05:00
|
|
|
endif()
|
2023-09-26 01:20:51 -04:00
|
|
|
set(local_include_dirs include/local)
|
|
|
|
else()
|
|
|
|
# No local wifi: provide only netif bindings
|
|
|
|
set(srcs
|
|
|
|
"src/wifi_default.c"
|
2024-04-08 08:11:08 -04:00
|
|
|
"src/wifi_netif.c"
|
|
|
|
"src/wifi_default_ap.c")
|
2023-09-26 01:20:51 -04:00
|
|
|
set(local_include_dirs)
|
2023-02-13 23:36:40 -05:00
|
|
|
|
2019-11-20 21:44:00 -05:00
|
|
|
endif()
|
|
|
|
|
2021-06-08 08:09:27 -04:00
|
|
|
idf_component_register(SRCS "${srcs}"
|
2024-03-29 09:09:47 -04:00
|
|
|
INCLUDE_DIRS "include" "wifi_apps/include" "wifi_apps/nan_app/include" ${local_include_dirs}
|
|
|
|
|
2022-05-11 10:01:48 -04:00
|
|
|
REQUIRES esp_event esp_phy esp_netif
|
2022-07-20 23:47:09 -04:00
|
|
|
PRIV_REQUIRES driver esptool_py esp_pm esp_timer nvs_flash
|
2022-12-14 04:10:54 -05:00
|
|
|
wpa_supplicant hal lwip esp_coex ${extra_priv_requires}
|
2024-03-29 09:09:47 -04:00
|
|
|
PRIV_INCLUDE_DIRS ../wpa_supplicant/src/ ../wpa_supplicant/esp_supplicant/src/
|
|
|
|
wifi_apps/roaming_app/include
|
2019-04-28 03:38:23 -04:00
|
|
|
LDFRAGMENTS "${ldfragments}")
|
2019-03-22 02:21:15 -04:00
|
|
|
|
2024-03-27 04:29:09 -04:00
|
|
|
if(CONFIG_ESP_WIFI_ENABLED OR CONFIG_ESP_HOST_WIFI_ENABLED)
|
2021-06-08 08:09:27 -04:00
|
|
|
idf_build_get_property(build_dir BUILD_DIR)
|
2020-01-16 22:47:08 -05:00
|
|
|
|
2024-03-27 04:29:09 -04:00
|
|
|
if(CONFIG_ESP_HOST_WIFI_ENABLED)
|
|
|
|
set(target_name "${CONFIG_ESP_WIFI_CONTROLLER_TARGET}_host")
|
|
|
|
else()
|
|
|
|
set(target_name "${idf_target}")
|
|
|
|
endif()
|
|
|
|
|
2022-08-28 11:07:49 -04:00
|
|
|
target_link_directories(${COMPONENT_LIB} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/lib/${target_name}")
|
2019-03-22 02:21:15 -04:00
|
|
|
|
2021-06-08 08:09:27 -04:00
|
|
|
if(link_binary_libs)
|
2024-03-27 04:29:09 -04:00
|
|
|
if(CONFIG_ESP_HOST_WIFI_ENABLED)
|
|
|
|
set(blobs core espnow net80211 target smartconfig wapi)
|
2021-12-21 02:16:20 -05:00
|
|
|
else()
|
2024-03-27 04:29:09 -04:00
|
|
|
if(CONFIG_IDF_TARGET_ESP32C2)
|
|
|
|
set(blobs core espnow net80211 pp smartconfig)
|
|
|
|
else()
|
|
|
|
set(blobs core espnow mesh net80211 pp smartconfig wapi)
|
|
|
|
endif()
|
2021-12-21 02:16:20 -05:00
|
|
|
endif()
|
2021-01-23 05:15:07 -05:00
|
|
|
|
2021-06-08 08:09:27 -04:00
|
|
|
foreach(blob ${blobs})
|
|
|
|
add_prebuilt_library(${blob} "${CMAKE_CURRENT_SOURCE_DIR}/lib/${target_name}/lib${blob}.a"
|
|
|
|
REQUIRES ${COMPONENT_NAME})
|
|
|
|
set(blob_reqs ${blobs})
|
|
|
|
list(REMOVE_ITEM blob_reqs ${blob}) # remove itself from requirements
|
|
|
|
set_property(TARGET ${blob} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${blob_reqs})
|
|
|
|
target_link_libraries(${COMPONENT_LIB} PUBLIC ${blob})
|
|
|
|
endforeach()
|
|
|
|
endif()
|
2023-11-24 10:28:05 -05:00
|
|
|
endif()
|
2022-01-31 13:45:31 -05:00
|
|
|
|
2023-11-24 10:28:05 -05:00
|
|
|
if(CONFIG_SPIRAM)
|
|
|
|
idf_component_optional_requires(PRIVATE esp_psram)
|
2019-03-22 02:21:15 -04:00
|
|
|
endif()
|