SystemAgent/CMakeLists.txt

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")