cmake_minimum_required(VERSION 3.12) set(PICO_BOARD "pico_w" CACHE STRING "must be set to pico_w for wifi projects") # initialize the SDK based on PICO_SDK_PATH # note: this must happen before project() include( $ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake ) project( novoclock C CXX ASM ) set( CMAKE_C_STANDARD 11 ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror" ) pico_sdk_init() include_directories( . ) add_executable(novoclock novoclock.c ) option( CONFIG_FILE "configuration file" ) if(CONFIG_FILE) add_definitions( -DCONFIG_FILE=${CONFIG_FILE} ) endif(CONFIG_FILE) # https://cmake.org/pipermail/cmake/2010-June/037733.html #add_custom_command( # OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/ws2811pio.c # COMMAND ${PICO_SDK_PATH}/../pico-sdk-bin/pioasm ${CMAKE_CURRENT_SOURCE_DIR}/ws2811pio.pio ${CMAKE_CURRENT_SOURCE_DIR}/ws2811pio.c # DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ws2811pio.pio # ) # Add pico_stdlib library which aggregates commonly used features target_link_libraries( novoclock pico_stdlib pico_cyw43_arch_lwip_poll pico_multicore hardware_rtc hardware_flash hardware_sync ) # enable usb output, disable uart output pico_enable_stdio_usb( novoclock 1 ) pico_enable_stdio_uart( novoclock 0 ) # create map/bin/hex/uf2 file in addition to ELF. pico_add_extra_outputs( novoclock ) # # IMPORTANT !!!!! do cmake -DPICO_BOARD=pico_w !!!!! #