smart_alarm/CMakeLists.txt
2025-09-16 22:02:10 +02:00

81 lines
2.1 KiB
CMake

# Generated Cmake Pico project file
cmake_minimum_required(VERSION 3.13)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Initialise pico_sdk from installed location
# (note this can come from environment, CMake cache etc)
set(PICO_SDK_PATH "/usr/share/pico-sdk")
set(PICO_BOARD pico_w CACHE STRING "Board type")
set(PICO_STACK_SIZE 0x2000)
# Pull in Raspberry Pi Pico SDK (must be before project)
include(pico_sdk_import.cmake)
if (PICO_SDK_VERSION_STRING VERSION_LESS "1.4.0")
message(FATAL_ERROR "Raspberry Pi Pico SDK version 1.4.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING}")
endif()
project(smart_alarm C CXX ASM)
set(PICO_CXX_ENABLE_EXCEPTIONS 1)
# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()
file(GLOB GC9A01_SOURCES
"GC9A01/*.c"
)
# Add executable. Default name is the project name, version 0.1
add_executable(smart_alarm smart_alarm.cpp
net_utils.cpp timezones.cpp
display.cpp
${GC9A01_SOURCES}
control.cpp)
pico_set_program_name(smart_alarm "smart_alarm")
pico_set_program_version(smart_alarm "0.2")
pico_enable_stdio_uart(smart_alarm 1)
pico_enable_stdio_usb(smart_alarm 1)
# Add the standard library to the build
target_link_libraries(smart_alarm
pico_stdlib)
# Add the standard include files to the build
target_include_directories(smart_alarm PRIVATE
${CMAKE_CURRENT_LIST_DIR}
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required
${CMAKE_CURRENT_LIST_DIR}/GC9A01
${CMAKE_CURRENT_LIST_DIR}/fonts
)
# Add any user requested libraries
target_link_libraries(smart_alarm
hardware_spi
hardware_timer
hardware_clocks
pico_cyw43_arch_lwip_threadsafe_background
pico_lwip_sntp
hardware_rtc
hardware_adc
hardware_pwm
)
target_compile_definitions(smart_alarm PRIVATE
SNTP_SET_SYSTEM_TIME_NTP=sync_system_time
SNTP_UPDATE_DELAY=1800000 # 30 minutes
)
target_compile_options(smart_alarm PRIVATE
-Wno-write-strings
)
pico_add_extra_outputs(smart_alarm)