88 lines
2.2 KiB
CMake
88 lines
2.2 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
|
|
sound.cpp
|
|
ui.cpp
|
|
fonts/Font5x7FixedMono.c
|
|
alarm.cpp
|
|
dateutils.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
|
|
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)
|
|
|