使用cmake和git子模块管理单独的c ++项目之间的依赖关系

时间:2018-09-25 16:19:04

标签: git cmake

我有3个c ++项目:2个库A,B和1个可执行文件C。

  

B取决于A

     

C取决于A和B

我正在对所有项目使用 git (带有子模块)和 cmake 。每个项目都应存储在自定义git存储库中。

我希望能够拉出每个项目并独立构建它。

如何为每个项目组织我的CMakeList?我尝试了以下方法:

  1. 对相关项目使用git子模块,在父cmake中使用add_subdirectory。问题在于,然后我为项目B复制了子目录,因为(C包含具有A的子模块,而B具有包含B的子模块,而B包含具有A的子模块。因此,我们有两个子模块A)。

  2. 使用cmake的关键字export。问题在于它需要先在B之前手动构建A,然后在C之前手动构建B。

我只想提取任何项目并在其根目录中调用cmake。

0 个答案:

没有答案