cmake_minimum_required(VERSION 3.13)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

set(PICO_SDK_PATH "${CMAKE_CURRENT_LIST_DIR}/../libs/pico-sdk")
include("${PICO_SDK_PATH}/external/pico_sdk_import.cmake")

# set(PICO_PIO_USB_DIR "${CMAKE_CURRENT_LIST_DIR}/../libs/pico-pio-hirsute")
# add_subdirectory(${PICO_PIO_USB_DIR} pico_pio_usb)

set(target_name hirsute)

project(${target_name} C CXX ASM)

add_executable(${target_name}
    main.c
    )

target_sources(${target_name} PRIVATE
    main.c
    # ${PICO_SDK_PATH}/lib/tinyusb/src/portable/raspberrypi/pio_usb/dcd_pio_usb.c
    # ${PICO_SDK_PATH}/lib/tinyusb/src/portable/raspberrypi/pio_usb/hcd_pio_usb.c
)

pico_sdk_init()

pico_enable_stdio_usb(${target_name} 1)
pico_enable_stdio_uart(${target_name} 0)

target_link_options(${target_name} PRIVATE -Xlinker --print-memory-usage)
target_compile_options(${target_name} PRIVATE -Wall -Wextra)

# target_compile_definitions(${target_name} PRIVATE PIO_USB_USE_TINYUSB)
# target_include_directories(${target_name} PRIVATE ${CMAKE_CURRENT_LIST_DIR})

# target_link_libraries(${target_name} PRIVATE pico_stdlib pico_multicore pico_pio_usb tinyusb_host tinyusb_board)
target_link_libraries(${target_name} PRIVATE pico_stdlib pico_multicore)

# Generate hex file
pico_add_extra_outputs(${target_name})
