cmake_minimum_required(VERSION 3.12) include($ENV{PICO_SDK_PATH}/pico_sdk_init.cmake) project(arducam_firmware_uvc C CXX ASM) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) pico_sdk_init() add_executable(arducam_firmware_uvc) target_sources(arducam_firmware_uvc PUBLIC ${CMAKE_CURRENT_LIST_DIR}/arducam/arducam.c ${CMAKE_CURRENT_LIST_DIR}/main.c ${CMAKE_CURRENT_LIST_DIR}/usb_descriptors.c ) # Make sure TinyUSB can find tusb_config.h target_include_directories(arducam_firmware_uvc PUBLIC ${CMAKE_CURRENT_LIST_DIR}) pico_generate_pio_header(arducam_firmware_uvc ${CMAKE_CURRENT_LIST_DIR}/image.pio) target_link_libraries(arducam_firmware_uvc pico_stdlib tinyusb_device tinyusb_board hardware_dma hardware_i2c hardware_pio hardware_pwm ) pico_add_extra_outputs(arducam_firmware_uvc)