Meson je softwarový nástroj pro automatizaci konstrukce softwaru. Je to bezplatný a otevřený zdroj napsaný v Pythonu.
Nedávno bylo oznámeno vydání nové verze sestavovacího systému Meson 1.4 . Tato verze přichází s vylepšenou podporou některých funkcí modulu FS, stejně jako s vylepšeními kompatibility, novými funkcemi a dalšími.
Pro ty, kteří Meson neznají, jedná se o systém pro sestavení, který používají významné projekty jako X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK. Jeho hlavním cílem je poskytnout rychlý a uživatelsky přívětivý proces sestavení. Ve výchozím nastavení používá sadu nástrojů Ninja, ale je kompatibilní i s dalšími backendy, jako je Xcode a Visual Studio.
Tento systém obsahuje integrovaného správce závislostí napříč platformami , který zjednodušuje vytváření balíčků pro distribuce. Pravidla kompilace jsou definována ve specifickém, čitelném jazyce, což minimalizuje čas potřebný k jejich zápisu.
Meson podporuje stavební projekty ve více jazycích, jako je C, C++, Fortran, Java a Rust, a nabízí režim přírůstkového sestavení, který přestaví pouze komponenty ovlivněné změnami od posledního sestavení. Kromě toho může Meson generovat opakovatelné sestavení, což zajišťuje, že spuštění sestavení v různých prostředích produkuje zcela identické spustitelné soubory.
Hlavní novinky Meson 1.4
Tato nová verze Mesonu 1.4 zdůrazňuje přidanou podporu pro modul FS, který nyní podporuje cílové objekty kompilace build_tgt a custom_tgt, a také index cíle kompilace (custom_idx) ve funkcích fs.name, fs.parent, fs.replace_suffix a fs.stem.
Další pozoruhodnou změnou v této nové verzi je, že Meson nyní dokáže číst verzi projektu z podprojektů založených na CMake. To zajišťuje, že omezení verzí jsou při přístupu k podprojektu CMake správně ověřena.
Kromě toho byl do funkcí `compile_ui`, `compile_moc` a preprocessing modulů `qt4`, `qt5` a `qt6` přidán argument `preserve_paths`, který umožňuje vybrat možnost vytvoření adresářové struktury pro zapisované soubory.
Za zmínku také stojí, že podpora Clang byla přidána do stldebug, když je povoleno debugstl, do objektu env byla zavedena metoda unset() a do objektu File byla přidána metoda full_path() pro získání úplné cesty k souboru.
Jako nové vlastní závislosti byla přidána podpora pro nástroj numpy-config a pkg-config . Tato funkce je dostupná od verze NumPy 2.0.0. Podpora pro numpy-config bude fungovat automaticky po instalaci NumPy. Soubor pkg-config se však nachází v balíčcích Pythonu, což znamená, že jej nelze ihned použít bez konfigurace PKG_CONFIG_PATH.
Mezi další významné změny v této nové verzi patří:
- Schopnost ovládat kontroly asercí (GLIBCXX_ASSERTIONS) v C++ stdlib prostřednictvím konfigurace ndebug.
- Přidán argument klíčového slova zachování_pathsun do funkcí modulu qt
- Nyní je možné specifikovat závislé cíle pomocí Depend: pro kompilátor.preprocess(). Tyto cíle musí být zkonstruovány před zahájením předběžného zpracování.
- Generátor vazby bindgen nyní podporuje heuristiku Meson pro určování souborů záhlaví C++.
- Přidána možnost přepsat nastavení jazyka pro bindgen.
- Testy nyní ve výchozím nastavení selžou po zjištění chyb při spouštění dezinfekčních prostředků, jako je MemorySanitizer.
- Přidána podpora pro kompilátor Texas Instruments C/C++ pro rodinu CPU C6000.
A konečně, pokud máte zájem dozvědět se více, podrobnosti naleznete na následujícím odkazu.
Jak nainstalovat Meson na Linux?
Pro ty, kteří mají zájem o možnost nainstalovat tento systém sestavení na svůj systém, mohou tak učinit podle pokynů, které sdílíme níže.
Měli by vědět, že Meson je k dispozici na PyPi, takže jej lze nainstalovat pomocí příkazu:
pip3 install meson
Jako poznámku byste měli vědět, že přesný příkaz k instalaci pip se může mezi systémy lišit, takže se doporučuje používat verzi pip pro Python 3.