Системы сборки / Build systems

Системы сборки – это специальные программы, которые позволяют автоматически собрать код проекта по заданным правилам.

Они определяют зависимости между файлами с исходным кодом и выходными файлами (программами, библиотеками и конфигурационными файлами) и в нескольких параллельных процессах выполняют команды компиляции для всех изменившихся со времени последней сборки файлов, соблюдая зависимости.

Помимо этого они занимаются подключением к проекту библиотек и программ.

Результатом работы системы сборки является директория, в которой находятся сгенерированные файлы, а также файл с дальнейшими командами для подчиненной (более низкоуровневой) системы сборки.

Автоматизация сборки

включает:

  • поиск зависимостей (заголовочных файлов и библиотек);

  • генерацию различных версий кода в зависимости от платформы, на которой происходит сборка;

  • генерация вспомогательных файлов;

  • генерация команд для компиляции всех исходный файлов;

  • сборка проекта;

а также:

  • выполнение автотестов;

  • развёртывание программы в целевой среде;

  • составление сопроводительной документации или описание изменений новой версии;

  • конфигурация и подготовка файлов к сборке;

  • составление отчётов;

  • ...