CMake Utilities
cmake_utilities
是 esp-iot-solution
组件中常用的 CMake 工具集合。
支持的功能:
project_include.cmake
: 为项目添加额外的功能,例如DIAGNOSTICS_COLOR
。文件将被自动解析,详情请参考 project-include-cmake。package_manager.cmake
: 提供了管理组件版本等功能。gcc.cmake
: 通过 menuconfig 管理 GCC 编译器选项,例如LTO
。relinker.cmake
提供了一种将 IRAM 函数移动到 Flash 以节省 RAM 空间的方法。gen_compressed_ota.cmake
: 添加了新命令idf.py gen_compressed_ota
以生成xz
压缩的 OTA 二进制文件。详情请参考 xz.gen_single_bin.cmake
: 添加了新命令idf.py gen_single_bin
以生成单个组合 bin 文件(组合 app、bootloader、分区表等)。
如何使用
在你的组件或项目的
idf_component.yml
中添加此组件的依赖。dependencies: espressif/cmake_utilities: "0.*"
在你的组件或项目的
CMakeLists.txt
中的idf_component_register
后包含 CMake 功能/脚本。// 注意:使用 include() 时应删除 .cmake 后缀,否则将找不到请求的文件 // 注意:应在 `idf_component_register` 函数之后放置此行 // 只包含你需要的功能。 include(package_manager)
然后你可以使用 CMake 脚本提供的相应功能。