cmake_minimum_required(VERSION 3.13) set(PICO_BOARD pico_w CACHE STRING "Board type") set(PICO_CYW43_ARCH_THREADSAFE_BACKGROUND ON) include(${CMAKE_CURRENT_LIST_DIR}/pico_sdk_import.cmake) project(artnetdmx C CXX ASM) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) pico_sdk_init() add_executable(artnetdmx src/main.c src/config.c src/channels.c src/dmx_out.c src/artnet.c src/wifi_mgr.c src/http_server.c third_party/dhcpserver/dhcpserver.c ) pico_generate_pio_header(artnetdmx ${CMAKE_CURRENT_LIST_DIR}/src/dmx_out.pio) target_include_directories(artnetdmx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/third_party/dhcpserver ) target_compile_definitions(artnetdmx PRIVATE PICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1 ) target_link_libraries(artnetdmx pico_stdlib pico_cyw43_arch_lwip_threadsafe_background pico_lwip_mdns hardware_pio hardware_dma hardware_flash hardware_sync ) pico_configure_ip4_address(artnetdmx PRIVATE CYW43_DEFAULT_IP_AP_ADDRESS 192.168.4.1 ) pico_enable_stdio_usb(artnetdmx 1) pico_enable_stdio_uart(artnetdmx 0) pico_add_extra_outputs(artnetdmx)