Meson е проект за създаване на възможно най-добрата сградна система от следващо поколение.
В пускане на новата версия на системата за изграждане Meson 1.1.0, който се използва за компилиране на различни популярни проекти, като X.Org, Mesa, systemd, Wayland, GNOME и др.
Основната цел на разработката на Meson е да осигури високоскоростен процес на компилиране, съчетан с удобство и лекота на използване. Вместо да го прави, компилацията използва Ninja Toolkit по подразбиране, но могат да се използват други бекендове като xcode и VisualStudio.
Системата има манипулатор на зависимости между различни платформи inbuiltin, който ви позволява да използвате Meson за създаване на пакети за дистрибуции. Правилата за компилиране са написани на опростен език, специфичен за домейна, са добре четими и разбираеми за потребителя (според идеята на авторите, разработчикът трябва да отдели минимум време за писане на правила).
Поддържа се кръстосана компилация и компилиране на голям брой системи и други компилатори. Проектите могат да бъдат изградени на няколко езика за програмиране, включително C, C++, Fortran, Java и Rust.
Трябва да се отбележи това поддържа режим на постепенно изграждане, в който се възстановяват само компоненти, които са пряко свързани с промените, направени след последната компилация. Meson може да се използва за генериране на повтарящи се компилации, където изпълнението на компилацията в различни среди води до генериране на напълно идентични изпълними файлове.
Основни новости на Meson 1.1
В тази нова версия на Meson 1.1, изпълнението на «инсталиране на sudo meson» гарантира възстановяване на привилегиите по време на реконструкцията за целевите платформи.
Друга от промените, които се открояват, е, че командата «meson инсталиране» предлага възможност за указване на отделен драйвер за да получите root разрешения (например можете да изберете polkit, sudo, opendoas или $MESON_ROOT_CMD), плюс стартирайте "meson инсталиране» в неинтерактивен режим вече не се опитва да повиши привилегиите.
В допълнение към това се отбелязва също, че е добавен нов бекенд "няма" (–backend=none) за създаване на проекти, които имат само правила за инсталиране и нямат правила за изграждане, както и добави нова зависимост pybind11 за да накарате зависимостта ('pybind11') да работи с pkg-config и cmake, без да използвате скрипта pybind11-config.
От големи промени Акцентите на тази нова версия включват следното:
- Добавен е нов аргумент "обекти:" към declare_dependency() за прикачване на обекти директно към изпълними файлове като вътрешни зависимости, които не изискват link_who.
- Пренасочване, предоставено на stderr от изхода на информация за напредъка на интроспекцията.
- Добавена е опция към командата "meson devenv –сметище» за да посочите файл, в който да записвате променливи на средата, вместо да го изпращате към стандартния изход.
- добавени са методи FeatureOption.enable_if и FeatureOption.disable_if за да улесните създаването на условни условия в подготовка за предаване на параметри към функцията dependency(), opt = get_option('feature').disable_if(not foo, error_message: 'Не може да се активира функция, когато foo не е активирано')
dep = зависимост ('foo', задължително: opt) - Разрешено предаване на генерирани обекти като аргументи "обекти:".
- Функцията на проекта поддържа инсталирането на файлове с информация за лиценза на проекта.
- Добавена е поддръжка за опции за четене на файлове meson.опции вместо meson_options.txt.
- Опциите "--reconfigure" и "--wipe" (meson setup – преконфигуриране на builddir и meson setup – изтриване на builddir) са разрешени с празен builddir.
- Meson.add_install_script() добави поддръжка за ключови думи суха тренировка, което ви позволява да стартирате свои собствени инсталационни скриптове, като извикате "мезон инсталация – работа на сухо".
И накрая, заслужава да се спомене, че кодът на Meson е написан на Python и е лицензиран под лиценза Apache 2.0. Ако се интересувате да научите повече за това, можете да се консултирате с подробности В следващия линк.
Как да инсталирам Meson на Linux?
За се интересуват от възможността да получат Meson, те трябва да знаят, че е наличен на PyPi, така че може да се инсталира с pip3 инсталирайте meson.
Трябва да се отбележи, че точната команда за въвеждане за инсталиране на pip може да варира между системите, така че не забравяйте да използвате Python 3 версията на pip.
Въпреки че, ако желаете, можете да го инсталирате локално със стандартната команда на Python:
python3 -m pip install meson