构建系统(CMake)
构建系统(CMake)
CMake用于与Zephyr内核一起构建应用程序。CMake构建分两个阶段完成。第一个阶段称为配置。在配置期间,将执行CMakeLists.txt构建脚本。配置完成后,CMake有一个Zephyr构建的内部模型,并且可以生成对主机平台原生的构建脚本。
CMake支持为几个构建系统生成脚本,但Zephyr只测试及支持Ninja和Make。在配置完成后,您可以通过执行生成的构建脚本来开始构建阶段。这些构建脚本可以重新编译应用程序,而不涉及CMake同步更改。但是,在进行了某些更改之后,必须在构建之前再次执行配置步骤。构建脚本可以检测这些情况并自动重新配置,但在某些情况下必须手动完成。
Zephyr使用CMake的“目标”概念来组织构建。目标可以是可执行文件、库或生成的文件。对于应用程序开发人员来说,库目标是需要理解的最重要的。所有进入Zephyr构建的源代码都是包含在库目标中,甚至是应用程序代码。
库目标有源代码,这是通过CMakeLists.txt构建脚本添加的:
target_sources(app PRIVATE src/main.c)
在上面的CMakeLists.txt
中,一个现有的名为app
的库目标被配置为包含源文件