Оптимизация времени сборки с Docker, CMake и субмодулями - PullRequest
0 голосов
/ 14 января 2020

У меня есть приложение, которое использует CMake для сборки с внешними зависимостями, управляемыми подмодулями GitHub (ie они извлекаются и компилируются из исходного кода). Это упаковано в Docker (который запускает CMake и собирает все лишние команды) на облачной платформе CI. Каждый «проект» внутри кодовой базы (мое приложение, а затем каждое депо) имеет свой собственный CMakeLists.txt, как рекомендовано, с главным сценарием в моем приложении

Это прекрасно работает для локальных, инкрементных сборок, но каждый CI имеет каждый раз перестраивать зависимости, так как вызов CMake в сборке Docker оставляет все на одном уровне. Сейчас я пытаюсь найти способ реструктуризации этого конвейера, чтобы избежать перестройки этих сторонних разработчиков при каждом CI

. Мое текущее предпочтительное решение - создать отдельный репозиторий 'libs' с собственным скриптом сборки, в котором есть все мои предварительно собранные (только поддерживающие lin_x86, так что не беспокойтесь о кроссплатформенных) библиотеки в нем. Я хотел бы вытащить это и добавить в / usr / перед вызовом CMake

. Это звучит разумно, или люди решили подобные проблемы более элегантным способом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...