如何在CMake中克隆具有多个特定子模块的存储库?

时间:2019-04-01 11:41:49

标签: git cmake git-submodules

我需要编写一个脚本来克隆Boost library,但是不幸的是,存储库很大,我以后只需要使用一些子模块即可。我想将它们存储在这样的字符串变量中

set(MODULES tools/build libs/system)

然后将变量传递给这样的一个命令

git clone --recurse-submodules=${MODULES} https://github.com/boostorg/boost.git

问题是,在将多个参数传递给--recurse-submodules之后,所有参数都将被忽略。

我看过How to only update specific git submodules?,但答案仅涵盖克隆一个子模块或多次重复--recurse-submodules,这是我不希望的,因为我想为脚本做准备。任意数量的子模块。

有什么方法可以使用Git和CMake来实现吗?我想留在那里让我的代码保持多平台。

我知道,how to do that using Bash,但我不知道,如果在CMake中可能有类似的事情。

0 个答案:

没有答案