Utjefte fan bouwsystemen CMake 3.21 en Meson 0.59

Presintearre is de frijlitting fan 'e cross-platform iepen build skriptgenerator CMake 3.21, dy't fungearret as alternatyf foar Autotools en wurdt brûkt yn projekten lykas KDE, LLVM / Clang, MySQL, MariaDB, ReactOS en Blender. De CMake-koade is skreaun yn C++ en ferspraat ûnder de BSD-lisinsje.

CMake is opmerklik foar it leverjen fan in ienfâldige skripttaal, in middel om funksjonaliteit út te wreidzjen fia modules, in minimaal oantal ôfhinklikens (gjin bining oan M4, Perl of Python), caching-stipe, de oanwêzigens fan ark foar cross-kompilaasje, stipe foar it generearjen fan build triemmen foar in breed skala oan build systemen en gearstallers, de oanwêzigens ctest en cpack nutsfoarsjennings foar it definiearjen fan test skripts en gebou pakketten, cmake-gui nut foar ynteraktyf ynstellen build parameters.

Main ferbetterings:

  • Folsleine stipe tafoege foar de programmeertaal Heterogeneous-Computing Interface for Portability (HIP), in dialekt fan 'e C++-taal dy't rjochte is om it makliker te meitsjen om CUDA-applikaasjes te konvertearjen nei portable C++-koade.
  • Added build script generator foar Visual Studio 17 2022, basearre op Visual Studio 2022 Preview 1.1.
  • De Makefile en Ninja build skriptgenerators hawwe de C_LINKER_LAUNCHER en CXX_LINKER_LAUNCHER eigenskippen tafoege, dy't kinne wurde brûkt om helpprogramma's te starten dy't de linker starte, lykas statyske analysatoren. De generator sil de spesifisearre nutsfoarsjenningen útfiere, troch har de namme fan 'e linker en syn arguminten troch te jaan.
  • Yn 'e eigenskippen "C_STANDARD" en "OBJC_STANDARD", lykas yn 'e ark foar it ynstellen fan kompilerparameters (Compile Features), is stipe foar de C17- en C23-spesifikaasjes tafoege.
  • De opsje "-toolchain" is tafoege oan it cmake-hulpprogramma > om it paad nei de toolkit te bepalen.
  • De soarten berjochten werjûn op it terminal binne markearre.
  • Stipe tafoege foar de Fujitsu-kompiler.
  • It kommando "foreach ()" soarget derfoar dat loop fariabelen binne isolearre binnen in loop.

Dêrnjonken kinne wy ​​​​de frijlitting fan it Meson 0.59-bouwsysteem notearje, dat wurdt brûkt om projekten te bouwen lykas X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME en GTK. De koade fan Meson is skreaun yn Python en is lisinsje ûnder de Apache 2.0-lisinsje. Unterstützt krúskompilaasje en bouwen op Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS en Windows mei GCC, Clang, Visual Studio en oare kompilatoren. It is mooglik om projekten te bouwen yn ferskate programmeartalen, ynklusyf C, C++, Fortran, Java en Rust. Ynstee fan it make-utility wurdt de Ninja toolkit standert brûkt by it bouwen, mar oare backends lykas xcode en VisualStudio kinne ek brûkt wurde.

It systeem hat in ynboude multi-platfoarm ôfhinklikens handler wêrmei jo te brûken Meson te bouwen pakketten foar distribúsjes. Gearstallingsregels wurde spesifisearre yn in ferienfâldige domein-spesifike taal, binne tige lêsber en begryplik foar de brûker (lykas bedoeld troch de auteurs, de ûntwikkelder moat in minimum tiid besteegje oan it skriuwen fan regels). Inkrementele boumodus wurdt stipe, wêrby't allinich komponinten dy't direkt relatearre binne oan feroarings makke sûnt de lêste bou wurde opnij boud. Meson kin brûkt wurde om werhellbere builds te generearjen, wêrby't it útfieren fan de build yn ferskate omjouwings resulteart yn de generaasje fan folslein identike útfierbere bestannen.

De wichtichste ynnovaasjes fan Meson 0.59:

  • Stipe tafoege foar de Cython-taal (in avansearre ferzje fan Python dy't rjochte is op it ferienfâldigjen fan yntegraasje mei C-koade).
  • Tafoege kaaiwurden "unescaped_variables" en "unescaped_uninstalled_variables" om fariabelen te definiearjen yn pkgconfig sûnder spaasjes te ûntkommen mei it "\" karakter.
  • Stipe tafoege foar wrc (Wine Resource Compiler).
  • De mooglikheid om projekten te generearjen foar Visual Studio 2012 en Visual Studio 2013 is ymplementearre.
  • Alle subprojekt-relatearre kommando's rinne no standert elk subprojekt parallel. It oantal parallelle prosessen wurdt bepaald troch de parameter "--num-prosessen".

Boarne: opennet.ru

Add a comment