У меня есть два C ++ CMake проекта A и B, где B зависит от A, и я использую Bamboo от Atlassian в качестве программного обеспечения для непрерывной интеграции. Есть ли хороший способ определить зависимость между двумя проектами? может быть, в Bamboo или, может быть, функция CMake.
В идеале я бы хотел, чтобы проект А строился регулярно. Тогда есть несколько возможных ручных решений, когда B строит:
- укажите место, где находятся файлы проекта .h и lib. Это местоположение должно быть согласованным, чтобы оно работало как в средах разработки, так и в системе CI.
- Каждый раз, когда сборки проекта A генерируют необходимые артефакты (заголовки и файлы библиотеки) и копируют их в заранее определенное место. Хотя это больше похоже на непрерывный выпуск.
- Возможно, более уродливый подход заключается в том, чтобы План B извлекал и строил проект A перед сборкой, но это добавляет много накладных расходов к B, за исключением того, что он не поддерживается изначально плагинами SCM Bamboo, которые смотрят только в одном месте репозитория.
Есть идеи?
0
Решение
CMake может вызвать CMake. Может быть, вы можете использовать ваше решение 2 и вызвать компиляцию project_A (с CMake) из файлов CMake вашего project_B?
1
Другие решения
Других решений пока нет …