sensor_main/CMakeLists.txt
2025-06-12 10:04:45 +02:00

95 lines
2.2 KiB
CMake
Executable File

# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work ==
if(WIN32)
set(USERHOME $ENV{USERPROFILE})
else()
set(USERHOME $ENV{HOME})
endif()
set(sdkVersion 2.1.1)
set(toolchainVersion 14_2_Rel1)
set(picotoolVersion 2.1.1)
set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
if(EXISTS ${picoVscode})
include(${picoVscode})
endif()
# ====================================================================================
cmake_minimum_required(VERSION 3.23)
# Set C++ and C Standard
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED true)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# SDK Config dstuff
if(WIN32)
set(USERHOME $ENV{USERPROFILE})
else()
set(USERHOME $ENV{HOME})
endif()
set(sdkVersion 2.1.1)
set(toolchainVersion 14_2_Rel1)
set(picotoolVersion 2.1.1)
set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
if(EXISTS ${picoVscode})
include(${picoVscode})
endif()
# ====================================================================================
set(PICO_BOARD pico_w CACHE STRING "Board type")
# Pull in Raspberry Pi Pico SDK (must be before project)
include(cmake/pico_sdk_import.cmake)
project(Test LANGUAGES C CXX ASM)
# Disable std::format note during compiling
add_compile_options(-Wno-psabi)
# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()
# Include BME280 Library
add_subdirectory(vendor/bme280)
# Include FatFS
add_subdirectory(vendor/pico-fatfs/src)
add_executable(Test
source/main.cpp
source/hw_config.c
)
pico_set_program_name(Test "Test")
pico_set_program_version(Test "0.1")
# Modify the below lines to enable/disable output over UART/USB
pico_enable_stdio_uart(Test 0)
pico_enable_stdio_usb(Test 1)
# Add the standard include files to the build
target_include_directories(Test PRIVATE
${CMAKE_CURRENT_LIST_DIR}
include
include/configs
${PICO_LWIP_CONTRIB_PATH}/apps/httpd
)
# Add any user requested libraries
target_link_libraries(Test
pico_cyw43_arch_lwip_threadsafe_background
pico_lwip_http
pico_lwip_mdns
pico_stdlib
hardware_i2c
hardware_spi
bme280 # Link BME280 Library
no-OS-FatFS-SD-SDIO-SPI-RPi-Pico # Link FatFS
)
pico_add_extra_outputs(Test)