Как обработать зависимость между проектами C ++ CMake с использованием Bamboo CI?

У меня есть два C ++ CMake проекта A и B, где B зависит от A, и я использую Bamboo от Atlassian в качестве программного обеспечения для непрерывной интеграции. Есть ли хороший способ определить зависимость между двумя проектами? может быть, в Bamboo или, может быть, функция CMake.

В идеале я бы хотел, чтобы проект А строился регулярно. Тогда есть несколько возможных ручных решений, когда B строит:

  1. укажите место, где находятся файлы проекта .h и lib. Это местоположение должно быть согласованным, чтобы оно работало как в средах разработки, так и в системе CI.
  2. Каждый раз, когда сборки проекта A генерируют необходимые артефакты (заголовки и файлы библиотеки) и копируют их в заранее определенное место. Хотя это больше похоже на непрерывный выпуск.
  3. Возможно, более уродливый подход заключается в том, чтобы План B извлекал и строил проект A перед сборкой, но это добавляет много накладных расходов к B, за исключением того, что он не поддерживается изначально плагинами SCM Bamboo, которые смотрят только в одном месте репозитория.

Есть идеи?

0

Решение

CMake может вызвать CMake. Может быть, вы можете использовать ваше решение 2 и вызвать компиляцию project_A (с CMake) из файлов CMake вашего project_B?

1

Другие решения

Других решений пока нет …