У меня есть приложение, которое использует CMake для сборки с внешними зависимостями, управляемыми подмодулями GitHub (ie они извлекаются и компилируются из исходного кода). Это упаковано в Docker (который запускает CMake и собирает все лишние команды) на облачной платформе CI. Каждый «проект» внутри кодовой базы (мое приложение, а затем каждое депо) имеет свой собственный CMakeLists.txt, как рекомендовано, с главным сценарием в моем приложении
Это прекрасно работает для локальных, инкрементных сборок, но каждый CI имеет каждый раз перестраивать зависимости, так как вызов CMake в сборке Docker оставляет все на одном уровне. Сейчас я пытаюсь найти способ реструктуризации этого конвейера, чтобы избежать перестройки этих сторонних разработчиков при каждом CI
. Мое текущее предпочтительное решение - создать отдельный репозиторий 'libs' с собственным скриптом сборки, в котором есть все мои предварительно собранные (только поддерживающие lin_x86, так что не беспокойтесь о кроссплатформенных) библиотеки в нем. Я хотел бы вытащить это и добавить в / usr / перед вызовом CMake
. Это звучит разумно, или люди решили подобные проблемы более элегантным способом?