У меня есть новый мезонный проект с 58 целями. Многие из них используют одни и те же файлы * .cc, а meson создает каждый файл * .cc один раз для каждой цели, что намного медленнее, чем autotools. Кроме того, флаги компиляции должны быть одинаковыми для разных целей, поэтому теоретически мезон должен иметь возможность повторно использовать объекты.
Хорошо ли поддерживается построение многих целей в мезоне? Есть ли стандартное решение для подобных ситуаций? Я мог бы попытаться организовать все источники в моем проекте в разделяемые библиотеки, но тогда мне пришлось бы решить, как их сгруппировать, а с автоинструментами мне не нужно это решать. Мне не удалось найти документацию по этому поводу.
-BenRI
P.S. Вот минимальный пример:
-------- файл: app1.cc -------
int f(int x ,int y) {return x;}
int main() { return f(0,1);}
------ файл: meson.build -----
project('app12','cpp')
executable('app1',['app1.cc'])
executable('app2',['app1.cc'])
---------- команда -----------
% meson . meson
% cd meson
% meson configure -Dwarning_level=3
% ninja
Вы должны увидеть предупреждение о том, что неиспользуемый параметр «y» появляется дважды. В файле compile_commands.json также есть две записи для app1.cc.