cmake_minimum_required(VERSION 3.13) option(BUILD_FOR_PICO "Build for Raspberry Pi Pico" ON) if(BUILD_FOR_PICO) set(PICO_BOARD pico_w CACHE STRING "Board type") include(pico_sdk_import.cmake) project(p-rad C CXX ASM) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) pico_sdk_init() add_executable(p-rad src/main.cpp src/core/logic.cpp src/hal/hal_pico.cpp ) target_compile_definitions(p-rad PRIVATE PICO_BUILD) target_include_directories(p-rad PRIVATE src) target_link_libraries(p-rad pico_stdlib pico_cyw43_arch_lwip_threadsafe_background hardware_rtc) pico_enable_stdio_usb(p-rad 1) pico_enable_stdio_uart(p-rad 0) pico_add_extra_outputs(p-rad) else() project(p-rad CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(p-rad src/main.cpp src/core/logic.cpp src/hal/hal_linux.cpp ) target_include_directories(p-rad PRIVATE src) find_package(Threads REQUIRED) find_package(SDL3 REQUIRED CONFIG) find_package(CURL REQUIRED) target_link_libraries(p-rad Threads::Threads SDL3::SDL3 CURL::libcurl) endif()