Meson 0.58

Теги

Meson - это программный инструмент для автоматизации создания программного обеспечения.

Ключевой целью развития Meson является обеспечение высокой скорости сборочного процесса в сочетании с удобством и простотой использования. Вместо утилиты make при сборке по умолчанию применяется инструментарий Ninja, но возможно применение и других бэкендов, таких как xcode и VisualStudio. В систему встроен многоплатформенный обработчик зависимостей, позволяющий использовать для сборки пакетов для дистрибутивов.

Поддерживается кросс-компиляция и сборка в Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов. Возможна сборка проектов на различных языках программирования, включая C, C++, Fortran, Java и Rust. Поддерживается инкрементальный режим сборки, при котором пересобираются только компоненты, напрямую связанные с изменениями, внесёнными с момента прошлой сборки. Meson можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов. 

В новой версии  программного инструмента:

  • В языке Meson реализованы встроенные операции форматирования строк. Вместо вызова метода format теперь можно подставлять значения напрямую, например, вместо "'A string @0@ to be formatted @1@'.format(n, m)" можно указывать сразу "f'A string @n@ to be formatted @m@'".
  • В строковые объекты добавлен метод "replace" для выполнения операции замены одной подстроки на другую, например, "s = s.replace('aaa', 'bbb')".
  • Добавлена функция "range(start, stop[, step])" для возврата объекта, который может применяться в цикле "foreach", например "foreach i : range(15)".
  • Реализован метод meson.add_devenv(), позволяющий добавить объект environment() для установки переменных окружения во время использования команды "meson devenv", например, для задания переменной окружения с путём к каталогу с плагинами.
  • Для окружений разработки предложена новая команда "meson devenv -C builddir [<команда>], дающая возможность запустить команду в окружении, настроенном для запуска проектов из сборочного каталога (без установки).
  • По умолчанию прекращена передача параметра "-pipe" при запуске всех поддерживаемых компиляторов.
  • Разрешён вызов meson.add_dist_script() из подпроектов.
  • Предоставлена возможность многократного запуска методов append() и prepend() для одного и того же объекта environment().
  • В функции error() разрешено указание более одного аргумента с разделением пробелом (по аналогии с warning() и message()).
  • Добавлен параметр "--skip-subprojects" для выборочного пропуска установки подпроектов.

Это бесплатное программное обеспечение с открытым исходным кодом, написанное на Python по лицензии Apache 2.0.