Ngaleupaskeun sistem ngawangun CMake 3.21 sareng Meson 0.59

Diberekeun nyaéta sékrési cross-platform open build script generator CMake 3.21, anu bertindak salaku alternatif pikeun Autotools sareng dianggo dina proyék sapertos KDE, LLVM / Clang, MySQL, MariaDB, ReactOS sareng Blender. Kode CMake ditulis dina C ++ sarta disebarkeun dina lisénsi BSD.

CMake kasohor nyadiakeun basa scripting basajan, sarana ngalegaan fungsionalitas ngaliwatan modul, sajumlah minimal kagumantungan (henteu mengikat M4, Perl atanapi Python), rojongan cache, ayana parabot pikeun cross-kompilasi, rojongan pikeun generating ngawangun. file pikeun rupa-rupa ngawangun sistem na compilers, ayana ctest na cpack Utiliti pikeun nangtukeun Aksara test jeung bungkusan wangunan, cmake-gui utiliti pikeun setting interaktif ngawangun parameter.

Perbaikan utama:

  • Ditambahkeun dukungan lengkep pikeun basa pamrograman Heterogenous-Computing Interface for Portability (HIP), dialék tina basa C++ anu ditujukeun pikeun ngagampangkeun ngarobih aplikasi CUDA kana kode C ++ portabel.
  • Ditambahkeun ngawangun skrip generator pikeun Visual Studio 17 2022, dumasar kana Visual Studio 2022 Preview 1.1.
  • Generator naskah Makefile sareng Ninja parantos nambihan sipat C_LINKER_LAUNCHER sareng CXX_LINKER_LAUNCHER, anu tiasa dianggo pikeun ngaluncurkeun utilitas bantu anu ngaluncurkeun linker, sapertos analisa statik. Generator bakal ngajalankeun utilitas anu ditangtukeun, ngalangkungan nami linker sareng argumen na.
  • Dina sipat "C_STANDARD" sareng "OBJC_STANDARD", kitu ogé dina alat pikeun netepkeun parameter kompiler (Fitur kompilasi), dukungan pikeun spésifikasi C17 sareng C23 parantos ditambahkeun.
  • Ditambahkeun "--toolchain > pilihan kana utilitas cmake pikeun nangtukeun jalur ka toolchain.
  • Jenis pesen anu dipintonkeun dina terminal disorot.
  • Ditambahkeun dukungan pikeun kompiler Fujitsu.
  • Paréntah "foreach ()" mastikeun yén variabel loop diisolasi dina loop.

Salaku tambahan, urang tiasa nyatet sékrési sistem ngawangun Meson 0.59, anu dianggo pikeun ngawangun proyék sapertos X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME sareng GTK. Kodeu Meson ditulis dina Python sareng dilisensikeun dina lisénsi Apache 2.0. Ngarojong kompilasi silang sareng gedong dina Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS sareng Windows nganggo GCC, Clang, Visual Studio sareng kompiler sanés. Kasebut nyaéta dimungkinkeun pikeun ngawangun proyék dina sagala rupa basa programming, kaasup C, C ++, Fortran, Java jeung Rust. Gantina make utiliti, Ninja toolkit dipaké sacara standar nalika ngawangun, tapi backends lianna kayaning xcode na VisualStudio ogé bisa dipaké.

Sistim nu boga multi-platform handler kagumantungan diwangun-di nu ngidinan Anjeun pikeun make Meson ngawangun bungkusan keur sebaran. Aturan Majelis dieusian dina basa domain-spésifik disederhanakeun, anu kacida dibaca tur kaharti ku pamaké (sakumaha dimaksud ku pangarang, pamekar kudu méakkeun minimum aturan nulis waktu). Modeu ngawangun Incremental dirojong, dimana ngan ukur komponén anu aya hubunganana langsung sareng parobihan anu dilakukeun ti saprak wangunan terakhir diwangun deui. Meson tiasa dianggo pikeun ngahasilkeun gedong anu tiasa diulang, dimana ngajalankeun gedong dina lingkungan anu béda-béda ngahasilkeun file anu tiasa dieksekusi lengkep idéntik.

Inovasi utama Meson 0.59:

  • Ditambahkeun dukungan pikeun basa Cython (versi canggih Python anu ditujukeun pikeun nyederhanakeun integrasi sareng kode C).
  • Nambahkeun kecap konci "unescaped_variables" jeung "unescaped_uninstalled_variables" pikeun nangtukeun variabel dina pkgconfig tanpa escaping spasi kalayan karakter "\".
  • Ditambahkeun dukungan pikeun wrc (Wine Resource Compiler).
  • Kamampuhan pikeun ngahasilkeun proyék pikeun Visual Studio 2012 sareng Visual Studio 2013 parantos dilaksanakeun.
  • Sadaya paréntah anu aya hubunganana sareng subproyék ayeuna ngajalankeun unggal subproyék paralel sacara standar. Jumlah prosés paralel ditangtukeun ku parameter "--num-processes".

sumber: opennet.ru

Tambahkeun komentar