Meson 1.4 har redan släppts och det här är dess nya funktioner

Meson är ett mjukvaruverktyg för att automatisera konstruktionen av mjukvara. Det är gratis och öppen källkod skrivet i Python.

Nyligen tillkännagavs lanseringen av den nya versionen av Meson 1.4-byggsystemet . Denna version kommer med förbättrat stöd för vissa funktioner i FS-modulen, samt förbättringar av kompatibilitet, nya funktioner och mer.

För er som inte känner till Meson är det ett byggsystem som används av framstående projekt som X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME och GTK. Dess primära mål är att tillhandahålla en snabb och användarvänlig byggprocess. Den använder Ninja-verktygslådan som standard men är även kompatibel med andra backend-program som Xcode och Visual Studio.

Det här systemet har en integrerad plattformsoberoende beroendehanterare som förenklar skapandet av paket för distributioner. Kompileringsregler definieras i ett specifikt, läsbart språk, vilket minimerar den tid som krävs för att skriva dem.

Meson stöder byggprojekt på flera språk som C, C++, Fortran, Java och Rust, och erbjuder ett inkrementellt byggläge som endast bygger om komponenter som påverkats av ändringar sedan den senaste byggnaden. Dessutom kan Meson generera repeterbara byggnader, vilket säkerställer att körning av byggnaden i olika miljöer ger helt identiska körbara filer.

De viktigaste nyheterna i Meson 1.4

Den här nya versionen av Meson 1.4 belyser det utökade stödet för FS-modulen, som nu stöder kompileringsmålobjekten build_tgt och custom_tgt, samt ett kompileringsmålindex (custom_idx) i funktionerna fs.name, fs.parent, fs.replace_suffix och fs.stem.

En annan anmärkningsvärd förändring i den här nya versionen är att Meson nu kan läsa projektversionen från CMake-baserade delprojekt. Detta säkerställer att versionsbegränsningar verifieras korrekt vid åtkomst till ett CMake-delprojekt.

Dessutom har argumentet `preserve_paths` nu lagts till i funktionerna `compile_ui`, `compile_moc` och preprocessing i modulerna `qt4`, `qt5` och `qt6` för att välja alternativet att bygga katalogstrukturen för de filer som skrivs.

Också att notera är att Clang-stöd lades till stldebug när debugstl är aktiverat, unset()-metoden introducerades till env-objektet och full_path()-metoden lades till i File-objektet för att få den fullständiga sökvägen till filen.

Stöd för numpy-config-verktyget och pkg-config har lagts till som nya anpassade beroenden. Detta är tillgängligt från och med NumPy 2.0.0. Stöd för numpy-config kommer att fungera automatiskt när NumPy har installerats. Pkg-config-filen finns dock i Python-webbplatspaketen, vilket innebär att den inte kan användas omedelbart utan att konfigurera PKG_CONFIG_PATH.

Andra anmärkningsvärda förändringar i den här nya versionen inkluderar:

  • Möjlighet att kontrollera påståendekontroller (GLIBCXX_ASSERTIONS) i C++ stdlib via debug-konfiguration.
  • Lade till preserve_pathsun nyckelordsargument till qt-modulfunktioner
  • Det är nu möjligt att specificera beroende mål med beror: för compiler.preprocess(). Dessa mål måste konstrueras innan förbearbetningen påbörjas.
  • Bindgen-bindningsgeneratorn stöder nu Meson-heuristik för att bestämma C++-huvudfiler.
  • Lade till möjligheten att åsidosätta språkinställningar för bindgen.
  • Tester misslyckas nu som standard efter att ha stött på fel när de kör desinfektionsmedel som MemorySanitizer.
  • Lagt till stöd för Texas Instruments C/C++ kompilator för C6000 CPU-familjen.

Slutligen, om du är intresserad av att lära dig mer, kan du hitta detaljerna på följande länk.

Hur installerar man Meson på Linux?

För de som är intresserade av att kunna installera detta byggsystem på sitt system kan de göra det genom att följa instruktionerna som vi delar nedan.

De borde veta att Meson är tillgängligt på PyPi, så det kan installeras med kommandot:

pip3 install meson

Som en notering bör du veta att det exakta kommandot att skriva för att installera pip kan variera mellan olika system, så det rekommenderas att du använder Python 3-versionen av pip.


Lägg till som prioriterad källa i Google