abfall/src/CMakeLists.txt

68 lines
1.9 KiB
CMake

#set(CMAKE_INCLUDE_CURRENT_DIR ON)
configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
set(SOURCES
ws2812.cpp
utils.cpp
http_client.cpp
ntp_client.cpp
abfall.cpp
)
add_executable(${CMAKE_PROJECT_NAME} ${SOURCES})
pico_set_program_name(${CMAKE_PROJECT_NAME} "abfall")
pico_set_program_version(${CMAKE_PROJECT_NAME} ${PROJECT_VERSION})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-volatile")
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
# If the debug configuration pass the DEBUG define to the compiler
"$<$<CONFIG:DEBUG>:DEBUG>"
)
# Add the standard include files to the build
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required
)
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
SNTP_SERVER_DNS=1
SNTP_SERVER_ADDRESS="pool.ntp.org"
SNTP_STARTUP_DELAY=0
SNTP_SET_SYSTEM_TIME=set_system_time
SNTP_UPDATE_DELAY=86400
WLAN_SSID="<YOUR SSID>"
WLAN_PW="<YOUR PW>"
)
set_target_properties(${CMAKE_PROJECT_NAME}
PROPERTIES
CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
pico_generate_pio_header(${CMAKE_PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/ws2812.pio)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
pico_enable_stdio_uart(${CMAKE_PROJECT_NAME} 1)
pico_enable_stdio_usb(${CMAKE_PROJECT_NAME} 0)
else()
pico_enable_stdio_uart(${CMAKE_PROJECT_NAME} 0)
pico_enable_stdio_usb(${CMAKE_PROJECT_NAME} 1)
endif()
target_link_libraries(${CMAKE_PROJECT_NAME}
pico_stdlib
pico_cyw43_arch_lwip_threadsafe_background
pico_lwip_http
pico_lwip_sntp
hardware_rtc
hardware_pio
hardware_sleep
)
pico_add_extra_outputs(${CMAKE_PROJECT_NAME})