# 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 sound.cpp ui.cpp fonts/Font5x7FixedMono.c ) 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 pico_multicore ) 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)