Столкновения зависимостей внешнего проекта CMake - PullRequest
0 голосов
/ 19 апреля 2019

Я нахожусь в процессе перемещения существующей системы сборки C ++ в CMake, и у меня есть вопрос, касающийся зависимостей внешнего проекта.

Сценарий таков, что у нас есть два проекта A и B.

Project 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.1 googletest.

Теперь проект B использует googletest с помощью той же команды, но зависит от release-1.7.0 (отличается от зависимости проекта A) И проект B также использует проект A как другой внешний проект.

Создает ли это какую-то коллизию между версиями googletest, когда мы запускаем cmake в проекте B?

...