cmake_minimum_required(VERSION 3.13) # Board. Defaults to the Waveshare RP2350-Plus (4MB, USB-C). set(PICO_BOARD waveshare_rp2350_plus_4mb CACHE STRING "Target board") include(pico_sdk_import.cmake) project(pianoled C CXX ASM) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) pico_sdk_init() add_executable(pianoled main.cpp picostrip.cpp ../src/pianoleds.cpp usb_descriptors.c ) # PLATFORM_PICO selects the Pico wiring block in config.h. target_compile_definitions(pianoled PRIVATE PLATFORM_PICO) target_include_directories(pianoled PRIVATE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/../src ) pico_generate_pio_header(pianoled ${CMAKE_CURRENT_LIST_DIR}/ws2812.pio) target_link_libraries(pianoled pico_stdlib hardware_pio tinyusb_device tinyusb_board ) # Debug log on UART only. USB is the MIDI device and must not be shared. pico_enable_stdio_uart(pianoled 1) pico_enable_stdio_usb(pianoled 0) pico_add_extra_outputs(pianoled)