Files
product-vamp/cmake/pico.cmake
T
khodowany 4f9a269f85
ci / checks (push) Successful in 38m58s
Initial public khodo snapshot
2026-09-04 19:30:11 -05:00

69 lines
2.1 KiB
CMake

set(PICO_BOARD pico2_w CACHE STRING "Pico board")
if(DEFINED ENV{PICO_SDK_PATH} AND NOT PICO_SDK_PATH)
set(PICO_SDK_PATH $ENV{PICO_SDK_PATH})
endif()
set(PICO_SDK_FETCH_FROM_GIT OFF CACHE BOOL "Fetch Raspberry Pi Pico SDK from git")
set(PICO_SDK_FETCH_FROM_GIT_TAG "${VAMP_PICO_SDK_VERSION}" CACHE STRING "Pico SDK git tag to fetch")
if(NOT PICO_SDK_PATH AND PICO_SDK_FETCH_FROM_GIT)
include(FetchContent)
FetchContent_Declare(
pico_sdk
GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk.git
GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG}
)
FetchContent_Populate(pico_sdk)
set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR})
endif()
if(NOT PICO_SDK_PATH)
message(FATAL_ERROR "PICO_SDK_PATH is not set and PICO_SDK_FETCH_FROM_GIT is OFF")
endif()
get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}")
if(NOT EXISTS ${PICO_SDK_PATH}/pico_sdk_init.cmake)
message(FATAL_ERROR "PICO_SDK_PATH does not contain pico_sdk_init.cmake: ${PICO_SDK_PATH}")
endif()
include(${PICO_SDK_PATH}/pico_sdk_init.cmake)
project(product-vamp-pico VERSION ${VAMP_PROJECT_VERSION} LANGUAGES C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
pico_sdk_init()
add_executable(product-vamp-pico2w
src/vamp_style.cpp
src/vamp_style/font.cpp
src/vamp_pico/display.cpp
src/vamp_pico/http_client.cpp
src/vamp_pico/main.cpp
src/vamp_pico/touch.cpp
src/vamp_protocol/page_control.cpp
)
target_include_directories(product-vamp-pico2w PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include/vamp_pico/capi
)
target_compile_definitions(product-vamp-pico2w PRIVATE
VAMP_PICO_WIFI_SSID="${VAMP_PICO_WIFI_SSID}"
VAMP_PICO_WIFI_PASSPHRASE="${VAMP_PICO_WIFI_PASSPHRASE}"
VAMP_ZERO_HOST="${VAMP_ZERO_HOST}"
VAMP_ZERO_PORT=${VAMP_ZERO_PORT}
)
target_link_libraries(product-vamp-pico2w PRIVATE
pico_stdlib
hardware_i2c
hardware_spi
pico_cyw43_arch_lwip_threadsafe_background
)
pico_enable_stdio_usb(product-vamp-pico2w 1)
pico_enable_stdio_uart(product-vamp-pico2w 0)
pico_add_extra_outputs(product-vamp-pico2w)