【发布时间】:2018-03-18 18:04:21
【问题描述】:
我有一个 cmake git 存储库,其中包含一个我在许多项目中使用的库,名为 core。
我有另一个 cmake git 存储库,其中包含 core 作为子树中的依赖项。该项目创建了一个库plot。
现在我有一个新的 git 存储库,它需要 plot 和 core 作为依赖项,我也将它们作为子树包含在内。现在我的项目结构是:
myproject
|
|-Thirdparty-subtrees
|
|-core
|-plot
|
|-Thirdparty-subtrees
|
|-core
现在,当我想用 cmake 构建 myproject 时,它告诉我我有两个同名的项目 core,因为该项目被定义了两次。
我可以删除第一级core子树,但是它会变成一个隐藏的依赖,如果由于某种原因plot会删除core子树,我就会遇到问题。我想在第一级子树文件夹中维护显式依赖。
所以我想知道如何使用 CMake 检查是否存在两个具有相同名称的目标,在这种情况下通过消息通知它并只构建一个项目而丢弃另一个(我想如果两个目标有同名,他们是同一个项目)。
我怎样才能只正确构建一次core?
【问题讨论】:
标签: git cmake git-subtree