nextgis-borsch/borsch

Синхронизации скриптов borsch по всем репозиториям или хранение их в одном месте

Opened this issue · 0 comments

Сейчас, чтобы обновить, например, файл FindAnyProject.cmake, его нужно копировать во все репозитории библиотек, где он используется.

Было бы хорошо найти удобный способ синхронизации этих скриптов. Или содержать все скрипты в одном месте и подключать их каким-либо образом в библиотеках, где они используются, чтобы не было дублирования кода.

Возможные варианты хранения в одном месте:

  1. Папка borsch с общими скриптами сборки вне каждой библиотеки. Подключается через задание переменной (BORSCH_ROOT), указывающей путь к ней.

  2. Через submodules of git.

  3. Через subtrees of git.

  4. Во время сборки библиотеки проверять, задана ли переменная к корню папки borsch (BORSCH_ROOT). Если не задана, скачиваем общие скрипты в подпапку библиотеки ./cmake/borsch и выставляем на нее переменную BORSCH_ROOT. Если задана, значит, там находятся общие скрипты, используем их; то есть библиотека собирается в составе другой библиотеки.