cmake_minimum_required(VERSION 3.10) include(CMakePrintHelpers) project(lvgl) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}) file(GLOB_RECURSE INCLUDES "./*.h" ) SET(CMAKE_CXX_FLAGS "-O3") set(LV_CONF_PATH ${CMAKE_CURRENT_SOURCE_DIR}/PSE-firmware/Drivers/lv_conf.h CACHE STRING "" FORCE) cmake_print_variables(LV_CONF_PATH) find_package(SDL2 REQUIRED SDL2) include_directories(${SDL2_INCLUDE_DIRS}) add_subdirectory(PSE-firmware/Drivers/lvgl) include_directories(PSE-firmware/Core/Inc) add_executable(main main.c PSE-firmware/Core/Src/logo_mint_resize.c PSE-firmware/Core/Src/home_screen.c PSE-firmware/Core/Src/PSE_unit.c PSE-firmware/Core/Src/PSE_unit_edit_screen.c PSE-firmware/Core/Src/keypad_screen.c PSE-firmware/Core/Src/pse_stepper_planer.c fatfs.c stm32f1xx_hal.c ${SOURCES} ${INCLUDES}) add_compile_definitions(LV_CONF_INCLUDE_SIMPLE) target_link_libraries(main PRIVATE lvgl ${SDL2_LIBRARIES}) add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main) target_compile_options(lvgl PRIVATE -Werror -Werror=float-conversion)