Meson 1.4 is al uitgebracht en dit zijn de nieuwe functies

Meson is een softwaretool om de constructie van software te automatiseren. Het is gratis en open source geschreven in Python.

De release van de nieuwe versie van het Meson 1.4 build-systeem is onlangs aangekondigd . Deze versie biedt verbeterde ondersteuning voor bepaalde functies van de FS-module, evenals verbeteringen in compatibiliteit, nieuwe functies en meer.

Voor wie Meson niet kent: het is een build-systeem dat gebruikt wordt door bekende projecten zoals X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME en GTK. Het belangrijkste doel is om een ​​snel en gebruiksvriendelijk buildproces te bieden. Het maakt standaard gebruik van de Ninja-toolkit, maar is ook compatibel met andere backends zoals Xcode en Visual Studio.

Dit systeem beschikt over een geïntegreerde, platformonafhankelijke afhankelijkheidsbeheerder die het maken van pakketten voor distributies vereenvoudigt. Compilatieregels worden gedefinieerd in een specifieke, leesbare taal, waardoor de tijd die nodig is om ze te schrijven tot een minimum wordt beperkt.

Meson ondersteunt bouwprojecten in meerdere talen zoals C, C++, Fortran, Java en Rust, en biedt een incrementele bouwmodus die alleen componenten opnieuw opbouwt die zijn beïnvloed door wijzigingen sinds de laatste build. Bovendien kan Meson herhaalbare builds genereren, zodat het uitvoeren van de build in verschillende omgevingen volledig identieke uitvoerbare bestanden oplevert.

Belangrijkste nieuwigheden van Meson 1.4

Deze nieuwe versie van Meson 1.4 benadrukt de toegevoegde ondersteuning voor de FS-module, die nu build_tgt- en custom_tgt-compilatiedoelobjecten ondersteunt, evenals een compilatiedoelindex (custom_idx) in de functies fs.name, fs.parent, fs.replace_suffix en fs.stem.

Een andere opvallende verandering in deze nieuwe versie is dat Meson nu de projectversie kan uitlezen vanuit CMake-gebaseerde subprojecten. Dit zorgt ervoor dat versiebeperkingen correct worden gecontroleerd bij het openen van een CMake-subproject.

Daarnaast is het argument `preserve_paths` nu toegevoegd aan de functies `compile_ui`, `compile_moc` en preprocessing van de modules `qt4`, `qt5` en `qt6` om de optie te selecteren om de directorystructuur voor de te schrijven bestanden op te bouwen.

Ook opmerkelijk is dat Clang-ondersteuning is toegevoegd aan stldebug wanneer debugstl is ingeschakeld, dat de methode unset() is geïntroduceerd in het env-object en dat de methode full_path() is toegevoegd aan het File-object om het volledige pad naar het bestand te verkrijgen.

Ondersteuning voor de tools numpy-config en pkg-config is toegevoegd als nieuwe aangepaste afhankelijkheden. Deze ondersteuning is beschikbaar vanaf NumPy 2.0.0. De ondersteuning voor numpy-config werkt automatisch zodra NumPy is geïnstalleerd. Het pkg-config-bestand bevindt zich echter in de Python-sitepakketten, wat betekent dat het niet direct kan worden gebruikt zonder PKG_CONFIG_PATH te configureren.

Andere opvallende wijzigingen in deze nieuwe versie zijn onder meer:

  • Mogelijkheid om beweringscontroles (GLIBCXX_ASSERTIONS) in C++ stdlib te beheren via ndebug-configuratie.
  • Sleutelwoordargument 'reserve_pathsun' toegevoegd aan de functies van de qt-module
  • Het is nu mogelijk om afhankelijke doelen te specificeren met depend: for compiler.preprocess(). Deze doelen moeten worden geconstrueerd voordat de voorbewerking begint.
  • De bindgen-bindingsgenerator ondersteunt nu Meson-heuristieken voor het bepalen van C++-headerbestanden.
  • De mogelijkheid toegevoegd om taalinstellingen voor bindingen te overschrijven.
  • Tests mislukken nu standaard nadat er fouten zijn opgetreden bij het uitvoeren van ontsmettingsmiddelen zoals MemorySanitizer.
  • Ondersteuning toegevoegd voor de Texas Instruments C/C++ compiler voor de C6000 CPU-familie.

Als u tot slot meer wilt weten, kunt u de details vinden via de volgende link.

Hoe Meson op Linux te installeren?

Voor degenen die geïnteresseerd zijn om dit build-systeem op hun systeem te kunnen installeren, kunnen ze dit doen door de onderstaande instructies te volgen.

Ze moeten weten dat Meson beschikbaar is op PyPi, dus het kan worden geïnstalleerd met de opdracht:

pip3 install meson

Houd er rekening mee dat u moet weten dat de exacte opdracht die u moet typen om pip te installeren, kan variëren tussen systemen, dus het wordt aanbevolen dat u de Python 3-versie van pip gebruikt.


Voeg dit toe als voorkeursbron in Google.