Pagpagawas sa mga sistema sa pagtukod CMake 3.21 ug Meson 0.59

Gipresentar mao ang pagpagawas sa cross-platform open build script generator CMake 3.21, nga naglihok isip alternatibo sa Autotools ug gigamit sa mga proyekto sama sa KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ug Blender. Ang code sa CMake gisulat sa C++ ug giapod-apod ubos sa lisensya sa BSD.

Nailhan ang CMake sa paghatag ug yano nga sinultian nga scripting, usa ka paagi sa pagpalapad sa pagpaandar pinaagi sa mga module, gamay nga gidaghanon sa mga dependency (walay pagbugkos sa M4, Perl o Python), suporta sa pag-cache, ang presensya sa mga himan alang sa cross-compilation, suporta alang sa paghimo sa pagtukod mga file alang sa usa ka halapad nga mga sistema sa pagtukod ug mga compiler, ang presensya nga ctest ug cpack nga mga gamit alang sa pagtino sa mga script sa pagsulay ug mga pakete sa pagtukod, gamit sa cmake-gui alang sa interactive nga pagpahimutang sa mga parameter sa pagtukod.

Panguna nga mga pag-uswag:

  • Gidugang ang bug-os nga suporta para sa Heterogenous-Computing Interface for Portability (HIP) programming language, usa ka diyalekto sa C++ nga lengguwahe nga gitumong sa pagpasayon ​​sa pag-convert sa mga aplikasyon sa CUDA ngadto sa madaladala nga C++ code.
  • Gidugang ang build script generator alang sa Visual Studio 17 2022, base sa Visual Studio 2022 Preview 1.1.
  • Ang Makefile ug Ninja build script generators midugang sa C_LINKER_LAUNCHER ug CXX_LINKER_LAUNCHER nga mga kabtangan, nga magamit sa paglunsad sa auxiliary utilities nga maglunsad sa linker, sama sa static analyzers. Ang generator magpadagan sa mga espesipikong mga utilities, nga ipasa kanila ang ngalan sa linker ug ang mga argumento niini.
  • Sa mga kabtangan nga "C_STANDARD" ug "OBJC_STANDARD", ingon man sa mga himan alang sa pagtakda sa mga parameter sa compiler (Compile Features), gidugang ang suporta alang sa mga detalye sa C17 ug C23.
  • Ang opsyon nga "β€”toolchain" gidugang sa cmake utility > aron mahibal-an ang agianan padulong sa toolkit.
  • Ang mga tipo sa mga mensahe nga gipakita sa terminal gipasiugda.
  • Gidugang nga suporta alang sa Fujitsu compiler.
  • Ang "foreach ()" nga sugo nagsiguro nga ang mga variable sa loop nahimulag sulod sa usa ka loop.

Dugang pa, atong mamatikdan ang pagpagawas sa Meson 0.59 nga sistema sa pagtukod, nga gigamit sa pagtukod sa mga proyekto sama sa X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ug GTK. Ang code ni Meson gisulat sa Python ug lisensyado ubos sa lisensya sa Apache 2.0. Nagsuporta sa cross compilation ug building sa Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ug Windows gamit ang GCC, Clang, Visual Studio ug uban pang mga compiler. Posible nga magtukod mga proyekto sa lainlaing mga sinultian nga programming, lakip ang C, C ++, Fortran, Java ug Rust. Imbis sa make utility, ang Ninja toolkit gigamit nga default kung magtukod, apan ang ubang mga backend sama sa xcode ug VisualStudio mahimo usab nga gamiton.

Ang sistema adunay usa ka built-in nga multi-platform dependency handler nga nagtugot kanimo sa paggamit sa Meson sa paghimo og mga pakete alang sa mga pag-apod-apod. Ang mga lagda sa asembliya gipiho sa usa ka gipayano nga pinulongan nga piho sa domain, dali nga mabasa ug masabtan sa tiggamit (sama sa gituyo sa mga tagsulat, ang developer kinahanglan nga mogugol ug labing gamay nga oras sa pagsulat sa mga lagda). Gisuportahan ang incremental nga mode sa pagtukod, diin ang mga sangkap lamang nga direktang may kalabutan sa mga pagbag-o nga nahimo sukad ang katapusan nga pagtukod gitukod pag-usab. Ang Meson mahimong gamiton aron makamugna og balik-balik nga mga pagtukod, diin ang pagpadagan sa pagtukod sa lain-laing mga palibot moresulta sa paghimo sa hingpit nga managsama nga mga executable nga mga file.

Panguna nga mga inobasyon sa Meson 0.59:

  • Gidugang nga suporta alang sa Cython nga pinulongan (usa ka advanced nga bersyon sa Python nga gitumong sa pagpayano sa paghiusa sa C code).
  • Gidugang ang mga keyword nga "unescaped_variables" ug "unescaped_uninstalled_variables" aron ipasabut ang mga variable sa pkgconfig nga dili makalikay sa mga espasyo nga adunay karakter nga "\".
  • Gidugang nga suporta alang sa wrc (Wine Resource Compiler).
  • Ang abilidad sa pagmugna og mga proyekto alang sa Visual Studio 2012 ug Visual Studio 2013 gipatuman.
  • Ang tanan nga mga sugo nga may kalabotan sa subproyekto karon nagpadagan sa matag subproyekto nga managsama pinaagi sa default. Ang gidaghanon sa parallel nga mga proseso gitino pinaagi sa parameter nga "--num-processes".

Source: opennet.ru

Idugang sa usa ka comment