mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
9c846ee493
* Convert tests/Makefile to a cmake project file. This change switches the building of LVGL tests to use cmake which is more portable than make. Additionally, whenever cmake can be used, instead of the Python script (`main.py`), the former is preferred. The interface to `main.py` is unchanged, and tests are built and executated the same as before. This closes https://github.com/lvgl/lvgl/issues/2474. * Installing `gcovr` in GitHub workflow. * Documented steps to install libpng-dev. * Added missing stdout flush when running tests. * Grammar tweak in README. Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
78 lines
2.2 KiB
CMake
78 lines
2.2 KiB
CMake
if(ESP_PLATFORM)
|
|
|
|
file(GLOB_RECURSE SOURCES src/*.c)
|
|
|
|
idf_build_get_property(LV_MICROPYTHON LV_MICROPYTHON)
|
|
|
|
if (LV_MICROPYTHON)
|
|
idf_component_register(SRCS ${SOURCES}
|
|
INCLUDE_DIRS . src ../
|
|
REQUIRES main)
|
|
else()
|
|
idf_component_register(SRCS ${SOURCES}
|
|
INCLUDE_DIRS . src ../)
|
|
endif()
|
|
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_CONF_INCLUDE_SIMPLE")
|
|
|
|
if (CONFIG_LV_MEM_CUSTOM)
|
|
if (CONFIG_LV_MEM_CUSTOM_ALLOC)
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_MEM_CUSTOM_ALLOC=${CONFIG_LV_MEM_CUSTOM_ALLOC}")
|
|
endif()
|
|
|
|
if (CONFIG_LV_MEM_CUSTOM_FREE)
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_MEM_CUSTOM_FREE=${CONFIG_LV_MEM_CUSTOM_FREE}")
|
|
endif()
|
|
endif()
|
|
|
|
if (CONFIG_LV_TICK_CUSTOM)
|
|
if (CONFIG_LV_TICK_CUSTOM_SYS_TIME_EXPR)
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_TICK_CUSTOM_SYS_TIME_EXPR=${CONFIG_LV_TICK_CUSTOM_SYS_TIME_EXPR}")
|
|
endif()
|
|
endif()
|
|
|
|
if (CONFIG_LV_USER_DATA_FREE)
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_USER_DATA_FREE=${CONFIG_LV_USER_DATA_FREE}")
|
|
endif()
|
|
|
|
if (CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM)
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_ATTRIBUTE_FAST_MEM=IRAM_ATTR")
|
|
endif()
|
|
|
|
elseif(ZEPHYR_BASE)
|
|
|
|
if(CONFIG_LVGL)
|
|
|
|
zephyr_include_directories(${ZEPHYR_BASE}/lib/gui/lvgl)
|
|
|
|
target_include_directories(lvgl INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
zephyr_compile_definitions(LV_CONF_KCONFIG_EXTERNAL_INCLUDE=<autoconf.h>)
|
|
|
|
zephyr_compile_definitions_ifdef(CONFIG_LV_MEM_CUSTOM
|
|
LV_MEM_CUSTOM_ALLOC=${CONFIG_LV_MEM_CUSTOM_ALLOC}
|
|
)
|
|
zephyr_compile_definitions_ifdef(CONFIG_LV_MEM_CUSTOM
|
|
LV_MEM_CUSTOM_FREE=${CONFIG_LV_MEM_CUSTOM_FREE}
|
|
)
|
|
zephyr_compile_definitions_ifdef(CONFIG_LV_TICK_CUSTOM
|
|
LV_TICK_CUSTOM_SYS_TIME_EXPR=${CONFIG_LV_TICK_CUSTOM_SYS_TIME_EXPR}
|
|
)
|
|
|
|
zephyr_library()
|
|
|
|
file(GLOB_RECURSE SOURCES src/*.c)
|
|
zephyr_library_sources(${SOURCES})
|
|
|
|
endif() # CONFIG_LVGL
|
|
|
|
else()
|
|
|
|
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/*.c)
|
|
add_library(lvgl STATIC ${SOURCES})
|
|
|
|
file(GLOB_RECURSE EXAMPLE_SOURCES ${CMAKE_CURRENT_LIST_DIR}/examples/*.c)
|
|
add_library(lvgl_examples STATIC ${EXAMPLE_SOURCES})
|
|
|
|
endif()
|