§ 1. Система сборки Meson
Система сборки Meson
01Самым важным элементом любого проекта является система сборки — программа, которая генерирует команды для сборки вашего исходного кода. Чем быстрее эта система собирает код и чем больше рутинных операций автоматизирует, тем быстрее идет разработка, и тем проще настроить непрерывную интеграцию — автоматизированную сборку и тестирование вашей программы. В задачи системы сборки входит
- поиск зависимостей (заголовочных файлов и библиотек),
- генерация различных версий кода в зависимости от платформы, на которой происходит сборка,
- генерация вспомогательных файлов,
- генерация команд для компиляции всех исходный файлов.
Как правило, системы сборки поддерживают опции для включения или отключения различных компонент программы. Результатом работы системы сборки является директория, в которой находятся сгенерированные файлы, а также файл с дальнейшими командами для подчиненной (более низкоуровневой) системы сборки. К высокоуровневым системам относятся autoconf, cmake, meson, к низкоуровневым — make, ninja. Мы будем изучать meson и ninja.
Задания
- Зарегистрируйтесь по ссылке из MSTeams и войдите на кластер. В нашем кластере две машины:
gpulab1
,capybara1
. Для того чтобы не мешать друг другу, перейдите с главной машины на другую командойssh название-машины
, и затем выполняйте задания. Для того чтобы получить доступ к командам сборки, наберитеmodule load spc-2021
. Если вы не знакомы с Линуксом, сначала прочитайте Курс молодого бойца. - Напишите программу Hello world, соберите ее с помощью Meson и запустите.