cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)

project(i2c_font C CXX ASM)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

add_compile_options(-Wall
        -Wno-format          # int != int32_t as far as the compiler is concerned because gcc has int32_t as long int
        -Wno-unused-function # we have some for the docs that aren't called
        -Wno-maybe-uninitialized
        )


pico_sdk_init()

# Example source
file(GLOB SRCS src/*.c src/*.cpp)
add_executable(${PROJECT_NAME} ${SRCS})

add_subdirectory(3rdparty/ff15)

# Make sure TinyUSB can find tusb_config.h
include_directories(${PROJECT_NAME} PUBLIC include)

# In addition to pico_stdlib required for common PicoSDK functionality, add dependency on tinyusb_host
# for TinyUSB device support and tinyusb_board for the additional board support library used by the example
target_link_libraries(${PROJECT_NAME}
        fatfs
        pico_stdio
        pico_stdlib
        pico_time
        hardware_spi
        hardware_gpio
        )

pico_add_extra_outputs(${PROJECT_NAME})

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