cmake_minimum_required(VERSION 3.13)

set(PICO_BOARD pico2)

include(pico_sdk_import.cmake)

project(picomap C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 23)
pico_sdk_init()

add_executable(picomap
	main.cpp
	net.cpp
	tusb_config.cpp
	w6300/w6300.cpp
)

target_include_directories(picomap PRIVATE
	include
	w6300
)

target_compile_options(picomap PRIVATE -Wall -Wextra -Wno-unused-parameter)

pico_generate_pio_header(picomap ${CMAKE_CURRENT_LIST_DIR}/w6300/qspi.pio)

pico_enable_stdio_usb(picomap 0)
pico_enable_stdio_uart(picomap 0)

pico_add_extra_outputs(picomap)

target_link_libraries(picomap pico_stdlib tinyusb_device tinyusb_board hardware_pio hardware_spi hardware_dma hardware_clocks)
