0

我正在将现有的 C++ 构建系统迁移到 CMake,并且我对外部项目依赖项有疑问。

场景是我们有两个项目 A 和 B。

项目 A 使用以下命令将 googletest 作为外部项目引入:

ExternalProject_Add(gtest
  GIT_REPOSITORY    git@github.com:google/googletest.git
  GIT_TAG           "release-1.8.1"
  SOURCE_DIR        "${CMAKE_BINARY_DIR}/gtest-src"
  BINARY_DIR        "${CMAKE_BINARY_DIR}/gtest-build"
  CONFIGURE_COMMAND ""
  BUILD_COMMAND     ""  
  INSTALL_COMMAND   ""  
  TEST_COMMAND      ""  
)

请注意,项目 A 取决于release-1.8.1googletest。

现在,项目 B 使用相同的命令拉入 googletest,但依赖于release-1.7.0(不同于项目 A 的依赖项)并且项目 B 也将项目 A 作为另一个外部项目拉入。

当我们在项目 B 上运行 cmake 时,这是否会在 googletest 版本之间产生某种冲突?

4

0 回答 0