cmake_minimum_required(VERSION 3.13) # Board: pico, pico2, pico_w, pico2_w. All run this firmware unchanged; the # radio variants simply leave their radio unused. set(PICO_BOARD pico2 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)