我可以让 CMake 在构建期间对项目进行 git 签出吗

Can I get CMake to do a git checkout of a project during build

我看到 CMake 中有一个 FindGit 模块,但我可以使用它让 CMake 在构建时检查某些软件的特定修订版吗?

我希望能够指定多个存储库,并且在构建时应将它们全部检出并与我的应用程序一起构建。

[编辑] 明确地说,当我说几个存储库并一起构建时,我的意思是应该从存储库中获取源代码,并且这些源代码应该与我的应用程序源代码一起编译。 原因是我想要一个由 FreeRTOS、LwIP、mbed-tls 等组成的 "platform"。这个 "platform" 应该可以从许多不同的项目中使用,但是由于每个平台组件都需要为不同的项目使用不同的配置来构建,所以我需要将它们的源代码与我的应用程序一起编译。然后将它们全部链接在一起,生成一个十六进制文件。

我认为ExternalProject_Add是你需要的。

[GIT_TAG tag] # Git branch name, commit id or tag