mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
4c76af3f68
Update wifi lib with below - 1. Create NAN Discovery SM for beaconing & cluster formation 2. Create NAN interface for Tx/Rx of beacons & action frames 3. Add commands & events for NAN Services Publish/Subscribe/Followup 4. Add NAN Datapath definitions, Events, Peer structures 5. Support for forming and parsing of Datapath related attributes 6. Modules for NDP Req, Resp, Confirm, Term, Peer management 7. NAN Interface related additions in Datapath, Data Tx Q's In addition include below changes - 1. Add netif and driver support for NAN Interface 2. Add simple examples for Publisher-Subscriber usecases 3. Add an advanced console example that supports commands for NAN Discovery, Services & Datapath 4. Add wifi_apps for providing better NAN API's and Peer management Co-authored-by: Shyamal Khachane <shyamal.khachane@espressif.com>
71 lines
2.3 KiB
CMake
71 lines
2.3 KiB
CMake
if(CONFIG_ESP_WIFI_ENABLED)
|
|
idf_build_get_property(idf_target IDF_TARGET)
|
|
|
|
if(CONFIG_APP_NO_BLOBS)
|
|
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()
|
|
|
|
set(srcs
|
|
"src/mesh_event.c"
|
|
"src/smartconfig.c"
|
|
"src/wifi_init.c"
|
|
"src/wifi_default.c"
|
|
"src/wifi_netif.c"
|
|
"src/wifi_default_ap.c"
|
|
"${idf_target}/esp_adapter.c")
|
|
|
|
if(CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API AND CONFIG_LWIP_IPV4)
|
|
list(APPEND srcs
|
|
"src/smartconfig_ack.c")
|
|
endif()
|
|
|
|
if(CONFIG_ESP_WIFI_NAN_ENABLE)
|
|
list(APPEND srcs "wifi_apps/src/nan_app.c")
|
|
endif()
|
|
|
|
endif()
|
|
|
|
idf_component_register(SRCS "${srcs}"
|
|
INCLUDE_DIRS "include" "wifi_apps/include"
|
|
REQUIRES esp_event esp_phy esp_netif
|
|
PRIV_REQUIRES driver esptool_py esp_pm esp_timer nvs_flash
|
|
wpa_supplicant hal lwip esp_coex ${extra_priv_requires}
|
|
LDFRAGMENTS "${ldfragments}")
|
|
|
|
if(CONFIG_ESP_WIFI_ENABLED)
|
|
idf_build_get_property(build_dir BUILD_DIR)
|
|
|
|
set(target_name "${idf_target}")
|
|
target_link_directories(${COMPONENT_LIB} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/lib/${target_name}")
|
|
|
|
if(link_binary_libs)
|
|
if(CONFIG_IDF_TARGET_ESP32C2)
|
|
set(blobs core espnow net80211 pp smartconfig)
|
|
else()
|
|
set(blobs core espnow mesh net80211 pp smartconfig wapi)
|
|
endif()
|
|
|
|
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()
|
|
|
|
target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format")
|
|
endif()
|