| if (PICO_CYW43_SUPPORTED) # set by BOARD=pico-w |
| if (TARGET cyw43_driver_picow) |
| pico_add_library(pico_cyw43_arch) |
| target_sources(pico_cyw43_arch INTERFACE |
| ${CMAKE_CURRENT_LIST_DIR}/cyw43_arch.c |
| ${CMAKE_CURRENT_LIST_DIR}/cyw43_arch_poll.c |
| ${CMAKE_CURRENT_LIST_DIR}/cyw43_arch_threadsafe_background.c |
| ${CMAKE_CURRENT_LIST_DIR}/cyw43_arch_freertos.c |
| ) |
| |
| target_include_directories(pico_cyw43_arch_headers SYSTEM INTERFACE |
| ${CMAKE_CURRENT_LIST_DIR}/include) |
| |
| pico_mirrored_target_link_libraries(pico_cyw43_arch INTERFACE |
| pico_unique_id |
| cyw43_driver_picow # driver for pico w |
| pico_cyw43_driver # integration with async_context |
| ) |
| |
| if (NOT TARGET pico_lwip) |
| message(WARNING "lwIP is not available; Full Pico W wireless support will be unavailable") |
| else() |
| message("Pico W Wi-Fi build support available.") |
| pico_add_library(pico_cyw43_arch_poll NOFLAG) |
| target_compile_definitions(pico_cyw43_arch_poll_headers INTERFACE |
| PICO_CYW43_ARCH_POLL=1 |
| ) |
| pico_mirrored_target_link_libraries(pico_cyw43_arch_poll INTERFACE |
| pico_cyw43_arch |
| pico_async_context_poll) |
| |
| pico_add_library(pico_cyw43_arch_lwip_poll NOFLAG) |
| pico_mirrored_target_link_libraries(pico_cyw43_arch_lwip_poll INTERFACE |
| pico_lwip_nosys |
| pico_cyw43_arch_poll) |
| target_compile_definitions(pico_cyw43_arch_lwip_poll_headers INTERFACE |
| CYW43_LWIP=1 |
| ) |
| |
| pico_add_library(pico_cyw43_arch_threadsafe_background NOFLAG) |
| pico_mirrored_target_link_libraries(pico_cyw43_arch_threadsafe_background INTERFACE |
| pico_cyw43_arch |
| pico_async_context_threadsafe_background) |
| target_compile_definitions(pico_cyw43_arch_threadsafe_background_headers INTERFACE |
| PICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1 |
| ) |
| |
| pico_add_library(pico_cyw43_arch_lwip_threadsafe_background NOFLAG) |
| pico_mirrored_target_link_libraries(pico_cyw43_arch_lwip_threadsafe_background INTERFACE |
| pico_lwip_nosys |
| pico_cyw43_arch_threadsafe_background) |
| target_compile_definitions(pico_cyw43_arch_lwip_threadsafe_background_headers INTERFACE |
| CYW43_LWIP=1 |
| ) |
| |
| pico_add_library(pico_cyw43_arch_sys_freertos NOFLAG) |
| pico_mirrored_target_link_libraries(pico_cyw43_arch_sys_freertos INTERFACE |
| pico_cyw43_arch |
| pico_async_context_freertos) |
| target_compile_definitions(pico_cyw43_arch_sys_freertos_headers INTERFACE |
| PICO_CYW43_ARCH_FREERTOS=1 |
| ) |
| |
| pico_add_library(pico_cyw43_arch_lwip_sys_freertos NOFLAG) |
| pico_mirrored_target_link_libraries(pico_cyw43_arch_lwip_sys_freertos INTERFACE |
| pico_lwip_freertos |
| pico_cyw43_arch_sys_freertos) |
| target_compile_definitions(pico_cyw43_arch_lwip_sys_freertos_headers INTERFACE |
| CYW43_LWIP=1 |
| LWIP_PROVIDE_ERRNO=1 |
| # now the default |
| #PICO_LWIP_CUSTOM_LOCK_TCPIP_CORE=1 # we want to override the lwip locking mechanism to use our mutex |
| ) |
| endif() |
| |
| pico_add_library(pico_cyw43_arch_none NOFLAG) |
| pico_mirrored_target_link_libraries(pico_cyw43_arch_none INTERFACE |
| pico_cyw43_arch |
| pico_async_context_threadsafe_background) |
| target_compile_definitions(pico_cyw43_arch_none_headers INTERFACE |
| CYW43_LWIP=0 |
| PICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1 # none still uses threadsafe_background to make gpio use easy |
| ) |
| endif() |
| endif() |
| |
| if (PICO_CYW43_DRIVER_PATH AND EXISTS "${PICO_CYW43_DRIVER_PATH}") |
| pico_add_doxygen(${PICO_CYW43_DRIVER_PATH}/src) |
| endif() |