72 lines
1.8 KiB
CMake
72 lines
1.8 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(SystemAgent)
|
|
|
|
set(ST7789_LCD_DEFINES "ST7789_PANEL_ZJY_320")
|
|
set(LVGL_DEFINES
|
|
"LV_CONF_INCLUDE_SIMPLE"
|
|
)
|
|
|
|
set(C_SOURCES
|
|
"src/main.c"
|
|
"src/drivers/user_gpio_driver.c"
|
|
"src/drivers/user_spi_driver.c"
|
|
"src/drivers/user_config_driver.c"
|
|
"src/impl/user_st7789_impl.c"
|
|
"src/impl/user_lvgl_impl.c"
|
|
"src/impl/user_stick_impl.c"
|
|
"src/impl/user_bme280_impl.c"
|
|
"src/impl/user_ccs811_impl.c"
|
|
"src/impl/user_mqtt_impl.c"
|
|
"src/tasks/user_lvgl_task.c"
|
|
"src/tasks/user_clock_task.c"
|
|
"src/tasks/user_dht_task.c"
|
|
"src/tasks/user_tvoc_task.c"
|
|
"src/tasks/user_base_task.c"
|
|
"src/tasks/user_mqtt_task.c"
|
|
"src/utils/user_log_util.c"
|
|
"src/utils/user_system_util.c"
|
|
"src/assets/encode_sans_sc_light_24.c"
|
|
"src/assets/encode_sans_sc_regular_32.c"
|
|
"src/assets/encode_sans_sc_bold_48.c"
|
|
"src/assets/encode_sans_sc_regular_64.c"
|
|
)
|
|
|
|
set(C_INCLUDES
|
|
"lib/LittleVGL"
|
|
"lib/st7789_lcd"
|
|
"lib/bme280_dht"
|
|
"lib/ccs811_tvoc"
|
|
"lib/mqtt_influx"
|
|
"include"
|
|
)
|
|
|
|
set(C_DEFINES
|
|
"_GNU_SOURCE"
|
|
"LV_LVGL_H_INCLUDE_SIMPLE"
|
|
${ST7789_LCD_DEFINES}
|
|
${LVGL_DEFINES}
|
|
)
|
|
|
|
set(C_LIBRARIES
|
|
"gpiod"
|
|
"iio"
|
|
"mosquitto"
|
|
"pthread"
|
|
"config"
|
|
"lvgl"
|
|
"st7789"
|
|
"bme280"
|
|
"ccs811"
|
|
"mqtt_influx"
|
|
)
|
|
|
|
add_subdirectory(lib)
|
|
|
|
# Main executable target
|
|
add_executable(${CMAKE_PROJECT_NAME} ${C_SOURCES})
|
|
target_link_libraries(${CMAKE_PROJECT_NAME} ${C_LIBRARIES})
|
|
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE ${C_DEFINES})
|
|
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${C_INCLUDES})
|
|
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-pthread")
|
|
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wall" "-Wextra" "-Wno-unused") |