cmake_minimum_required(VERSION 3.12) # initialize the SDK based on PICO_SDK_PATH # note: this must happen before project() include( $ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake ) pico_sdk_init() project( blink C CXX ASM ) add_executable(ws2811strip ws2811strip.c # ws2811pio.pio ws2811pio.c ) # 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( ws2811strip pico_stdlib hardware_pio hardware_dma ) # create map/bin/hex/uf2 file in addition to ELF. pico_add_extra_outputs( ws2811strip ) # $PICO_SDK_PATH/bin/pioasm ws2811pio.pio ws2811pio.c add_executable(firework firework.c # ws2811pio.pio ws2811pio.c ) # 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( firework pico_stdlib hardware_pio hardware_dma ) # create map/bin/hex/uf2 file in addition to ELF. pico_add_extra_outputs( firework )