MesonBook
Советую посмотреть вот эту презентацию чтобы лучше понимать зачем стоит использовать Meson. https://youtu.be/SCZLnopmYBM
Вот список каких то фич:
Features
multiplatform support for Linux, macOS, Windows, GCC, Clang, Visual Studio and others
supported languages include C, C++, D, Fortran, Java, Rust, Vala, C#
build definitions in a very readable and user friendly non-Turing complete DSL
cross compilation for many operating systems as well as bare metal
optimized for extremely fast full and incremental builds without sacrificing correctness
built-in multiplatform dependency provider that works together with distro packages
fun!
Вообщем лучше всего Meson описывает третий пункт, это DSL для сборок.
Hello world
Начнем с самого простого, у вас 1 файл, который является программой которую можно запустить, а не библиотекой.
source
meson.build
Даже не уверен стоит ли тут что-то пояснять, в этом вся суть Meson. Нудаладна, project, с этой строчки начинается любой проект, первый аргумент название проекта, далее идет перечисление языков которые используются в проекте(далее будет рассмотрен такой пример)
executable является таргетом этого билд скрипта, в одном билдскрипте их может быть сколько угодно. Первый аргумент название, второй список файлов.
Несколько файлов
src является переменной, которая содержит массив файлов, затем мы передаем его в executable.
Аргументы могут быть именованными, чаще всего люди используют их именно так
Тесты
Первый аргумент название теста, второй executable target.
Last updated
Was this helpful?