处理cmake重复的git子树

时间:2018-03-18 18:04:21

标签: git cmake git-subtree

我有一个cmake git存储库,其中包含我在许多项目中使用的库,名为core

我的另一个cmake git存储库包含core作为子树中的依赖项。该项目创建了一个库plot

现在我有了一个新的git存储库,它需要plotcore作为依赖项,我也将它们作为子树包含在内。现在我的项目结构是:

myproject
|
|-Thirdparty-subtrees
  |
  |-core
  |-plot
    |
    |-Thirdparty-subtrees
      |
      |-core

现在,当我想用​​cmake构建myproject时,它告诉我我有两个同名的项目core,因为项目定义了两次。

我可以删除第一级core子树,但之后它将成为隐藏的依赖项,如果由于某种原因plot将删除core子树,我将遇到问题。我想在第一级子树文件夹中维护显式依赖。

所以我想知道如何查看CMake是否存在同名的两个目标,并且在这种情况下通过消息通知它并且仅构建一个丢弃另一个的项目(我想如果两个目标具有相同的名称,它们是相同的项目。)

如何才能正确构建core一次?

1 个答案:

答案 0 :(得分:0)

尽管它可能看起来像一个,但Git并不打算用作依赖管理工具。为此,您最好使用不同的工具。