Tso tawm cov tshuab tsim CMake 3.21 thiab Meson 0.59

Tshaj tawm yog qhov kev tso tawm ntawm tus ntoo khaub lig-platform qhib tsim tsab ntawv tsim hluav taws xob CMake 3.21, uas ua rau lwm txoj hauv kev Autotools thiab siv rau hauv cov haujlwm xws li KDE, LLVM / Clang, MySQL, MariaDB, ReactOS thiab Blender. CMake code yog sau rau hauv C ++ thiab muab faib raws li BSD daim ntawv tso cai.

CMake yog qhov tseem ceeb rau kev muab cov lus sau yooj yim, txhais tau hais tias txuas ntxiv ua haujlwm los ntawm cov qauv, tsawg kawg ntawm cov kev vam khom (tsis muaj kev khi rau M4, Perl lossis Python), kev txhawb nqa caching, muaj cov cuab yeej rau kev sib sau ua ke, kev txhawb nqa rau kev tsim kho. cov ntaub ntawv rau ntau yam kev tsim cov tshuab thiab cov tshuab sau ua ke, qhov muaj ctest thiab cpack cov khoom siv rau kev txhais cov ntawv xeem thiab cov pob tsev, cmake-gui utility rau kev sib tham sib teeb tsa tsis.

Kev txhim kho tseem ceeb:

  • Ntxiv kev txhawb nqa tag nrho rau Heterogeneous-Computing Interface for Portability (HIP) programming language, ib hom lus ntawm C ++ hom lus uas ua rau nws yooj yim dua los hloov CUDA daim ntawv thov rau portable C ++ code.
  • Ntxiv tsim cov ntawv tsim hluav taws xob rau Visual Studio 17 2022, raws li Visual Studio 2022 Saib ua ntej 1.1.
  • Lub Makefile thiab Ninja tsim cov ntawv tsim hluav taws xob tau ntxiv C_LINKER_LAUNCHER thiab CXX_LINKER_LAUNCHER cov cuab yeej, uas tuaj yeem siv los tsim cov khoom siv hluav taws xob uas tso tawm qhov txuas, xws li cov ntsuas zoo li qub. Lub tshuab hluav taws xob yuav khiav cov khoom siv hluav taws xob uas tau teev tseg, hla lawv lub npe ntawm tus txuas thiab nws cov lus sib cav.
  • Hauv cov khoom "C_STANDARD" thiab "OBJC_STANDARD", ntxiv rau hauv cov cuab yeej rau kev teeb tsa cov tsis sib xws (Compile Nta), kev txhawb nqa rau C17 thiab C23 specifications tau ntxiv.
  • Qhov kev xaiv "-toolchain" tau ntxiv rau qhov siv hluav taws xob cmake > los txiav txim txoj kev mus rau toolkit.
  • Cov hom lus tso tawm ntawm lub davhlau ya nyob twg yog qhov tseem ceeb.
  • Ntxiv kev txhawb nqa rau Fujitsu compiler.
  • Cov lus txib "foreach()" ua kom ntseeg tau tias cov voj voog sib txawv yog cais nyob rau hauv ib lub voj.

Tsis tas li ntawd, peb tuaj yeem nco ntsoov qhov kev tso tawm ntawm Meson 0.59 tsim qhov system, uas yog siv los tsim cov haujlwm xws li X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME thiab GTK. Meson's code yog sau hauv Python thiab tau tso cai raws li Apache 2.0 daim ntawv tso cai. Txhawb kev sib sau ua ke thiab tsim ntawm Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS thiab Windows siv GCC, Clang, Visual Studio thiab lwm yam compilers. Nws tuaj yeem tsim cov haujlwm hauv ntau hom lus programming, suav nrog C, C ++, Fortran, Java thiab Rust. Hloov chaw siv hluav taws xob, cov khoom siv Ninja siv los ntawm lub neej ntawd thaum lub tsev, tab sis lwm cov backends xws li xcode thiab VisualStudio kuj siv tau.

Lub kaw lus muaj ib tug built-in multi-platform dependency handler uas tso cai rau koj siv Meson los tsim cov pob khoom rau kev faib khoom. Cov kev cai sib dhos tau teev nyob rau hauv cov lus yooj yooj yim-cov lus tshwj xeeb, nyeem tau yooj yim thiab nkag siab rau tus neeg siv (raws li tau npaj los ntawm cov kws sau ntawv, tus tsim tawm yuav tsum siv sijhawm tsawg kawg nkaus sau cov cai). Incremental build mode yog txaus siab, nyob rau hauv uas tsuas yog cov khoom ncaj qha ntsig txog cov kev hloov pauv tau ua txij li thaum kawg tsim tau rov tsim dua. Meson tuaj yeem siv los tsim cov kev tsim rov ua dua tshiab, uas ua haujlwm ntawm kev tsim hauv qhov chaw sib txawv ua rau muaj cov ntaub ntawv zoo tib yam nkaus.

Kev tsim kho tseem ceeb ntawm Meson 0.59:

  • Ntxiv kev txhawb nqa rau Cython hom lus (ib qho kev tshaj lij ntawm Python tsom rau kev sib koom ua ke nrog C code).
  • Ntxiv cov ntsiab lus "unescaped_variables" thiab "unescaped_uninstalled_variables" txhawm rau txheeb xyuas qhov hloov pauv hauv pkgconfig yam tsis tau khiav qhov chaw nrog lub cim "\".
  • Ntxiv kev txhawb nqa rau wrc (Wine Resource Compiler).
  • Lub peev xwm los tsim cov haujlwm rau Visual Studio 2012 thiab Visual Studio 2013 tau ua tiav.
  • Tag nrho cov lus txib hais txog subproject tam sim no khiav txhua qhov kev sib txuas ua ke los ntawm lub neej ntawd. Tus naj npawb ntawm cov txheej txheem sib npaug yog txiav txim siab los ntawm "--num-processes" parameter.

Tau qhov twg los: opennet.ru

Ntxiv ib saib