首页
/ LVGL项目CMake构建与集成指南

LVGL项目CMake构建与集成指南

2025-07-05 07:34:51作者:羿妍玫Ivan

概述

CMake是一个跨平台的构建系统生成器,它能够简化项目或库的集成过程。在LVGL项目中,CMake被原生支持,开发者可以通过它来直接配置和构建LVGL,或者将其集成到更高级别的CMake构建系统中。

本指南将详细介绍如何使用CMake构建LVGL项目,以及如何将LVGL集成到您的项目中。

准备工作

在开始构建前,请确保您的系统满足以下要求:

  1. 安装CMake以及GNU make或Ninja(Linux构建需要)
  2. 安装scripts/install-prerequisites.sh/bat中列出的所有依赖项
  3. 如果计划使用KConfig配置系统,需要安装Python3解释器

CMake构建方法

命令行构建

最简单的构建方式是使用命令行:

# 方法1
cd <lvgl_repo>
mkdir build
cd build
cmake ..            # 配置阶段
cmake --build .     # 构建阶段

# 方法2
cd <lvgl_repo>
cmake -B build      # 配置阶段
cmake --build build # 构建阶段

使用CMake预设

LVGL项目提供了CMakePresets.json文件,其中包含了一些预定义的配置选项:

配置预设

  • windows-base:Windows配置,使用VS MSVC,基于lv_conf.h配置
  • windows-kconfig:Windows配置,使用VS MSVC,基于Kconfig配置
  • linux-base:Linux配置,使用Ninja和GCC,基于lv_conf.h配置
  • linux-kconfig:Linux配置,使用Ninja和GCC,基于Kconfig配置

构建预设

  • windows-base_dbg:Windows调试构建
  • windows-base_rel:Windows发布构建
  • linux-base_dbg:Linux调试构建
  • linux-base_rel:Linux发布构建

使用预设构建的示例:

cmake --preset windows-base
cmake --build --preset windows-base_dbg
ctest --preset windows-base_dbg

使用IDE构建

推荐使用支持CMakePresets的IDE,如:

  • Visual Studio 2022
  • VS Code
  • CLion

只需在IDE中打开项目并选择所需的预设即可开始构建。

使用CMake GUI构建

通过CMake GUI打开项目,选择预设后点击生成按钮,CMake将创建相应的解决方案文件(VS)或Ninja文件(Linux)。

构建目标

LVGL项目提供以下构建目标:

  • lvgl:核心库(必需)
  • lvgl_thorvg:矢量图形扩展(可选)
  • lvgl_examples:示例程序(可选)
  • lvgl_demos:演示程序(可选)

可通过设置相应的缓存变量来禁用可选目标。

将LVGL集成到您的项目

LVGL的CMake系统设计为易于集成到其他项目中。以下是几种集成方式:

基本集成

add_subdirectory(lvgl)

指定配置文件路径

set(LV_BUILD_CONF_PATH path/to/my_lv_conf.h)
add_subdirectory(lvgl)

指定配置文件目录

set(LV_BUILD_CONF_DIR path/to/directory)
add_subdirectory(lvgl)

使用KConfig配置系统

set(LV_BUILD_USE_KCONFIG ON)
add_subdirectory(lvgl)

使用特定defconfig文件

set(LV_BUILD_USE_KCONFIG ON)
set(LV_BUILD_DEFCONFIG_PATH path/to/my_defconfig)
add_subdirectory(lvgl)

启用示例和演示

set(CONFIG_LV_BUILD_EXAMPLES ON)
set(CONFIG_LV_BUILD_DEMOS ON)
add_subdirectory(lvgl)

重要配置选项

选项 类型 描述
LV_BUILD_CONF_PATH PATH 自定义lv_conf.h路径
LV_BUILD_CONF_DIR PATH 包含lv_conf.h的目录
LV_BUILD_USE_KCONFIG BOOLEAN 使用KConfig作为配置源
LV_BUILD_DEFCONFIG_PATH PATH 在KConfig设置中指定.defconfig文件
LV_BUILD_LVGL_H_SYSTEM_INCLUDE BOOLEAN 将lvgl.h作为系统头文件包含
LV_BUILD_LVGL_H_SIMPLE_INCLUDE BOOLEAN 将lvgl.h作为简单头文件包含(默认启用)
LV_BUILD_SET_CONFIG_OPTS BOOLEAN 处理lv_conf.h/Kconfig配置生成CMake变量
CONFIG_LV_BUILD_DEMOS BOOLEAN 构建演示程序
CONFIG_LV_BUILD_EXAMPLES BOOLEAN 构建示例程序
CONFIG_LV_USE_THORVG_INTERNAL BOOLEAN 编译内置ThorVG版本
CONFIG_LV_USE_PRIVATE_API BOOLEAN 安装私有头文件

注意事项

当启用LV_BUILD_SET_CONFIG_OPTSLV_BUILD_USE_KCONFIG时,所有以CONFIG_*为前缀的选项/变量将自动设置为lv_conf.h中的对应值。

通过本指南,您应该能够顺利地在不同环境下构建LVGL项目,并将其集成到您的应用程序中。CMake的强大功能使得跨平台开发和项目集成变得更加简单高效。