ĂshtĂ« publikuar versioni i gjeneruesit tĂ« skripteve tĂ« ndĂ«rtimit CMake 3.21, njĂ« alternativĂ« pĂ«r Autotools dhe i pĂ«rdorur nĂ« projekte si KDE, LLVM/Clang, MySQL, MariaDB, ReactOS dhe Blender. Kodi i CMake Ă«shtĂ« shkruar nĂ« gjuhĂ«n C++ dhe shpĂ«rndahet nĂ«n licencĂ«n BSD.
CMake është i njohur për ofrimin e një gjuhe skenari të thjeshtë, mjeteve për zgjerimin e funksionalitetit përmes moduleve, një numri minimal të varësive (nuk ka varësi nga M4, Perl ose Python), mbështetje për pamjen e cache-it, disponimin e mjeteve për ndërkompilim, mbështetje për gjenerimin e skedave të ndërtimit për një gamë të gjerë sistemesh ndërtimi dhe kompilatorësh, mjeteve ctest dhe cpack për përcaktimin e skenarëve të testeve dhe ndërtimit të pakove, si dhe mjeteve cmake-gui për konfigurimin interaktiv të parametrave të ndërtimit.
Përmirësimet kryesore:
- ĂshtĂ« shtuar mbĂ«shtetje e plotĂ« pĂ«r gjuhĂ«n e programimit HIP (Heterogeneous-Computing Interface for Portability), njĂ« dialekt i gjuhĂ«s C++, i cili Ă«shtĂ« fokusuar nĂ« thjeshtimin e transformimit tĂ« aplikacioneve CUDA nĂ« kod tĂ« portueshĂ«m C++.
- ĂshtĂ« shtuar njĂ« gjenerator skripti ndĂ«rtimi pĂ«r Visual Studio 17 2022, i bazuar nĂ« versionin e parĂ« tĂ« paraqitjes sĂ« Visual Studio 2022 Preview 1.1.
- Në gjeneratorët e skripteve të ndërtimit Makefile dhe Ninja janë shtuar pronat C_LINKER_LAUNCHER dhe CXX_LINKER_LAUNCHER, me anë të të cilave mund të organizohet ekzekutimi i mjeteve ndihmëse që aktivizojnë lidhësin, si analistët statik. Gjeneratori do të ekzekutojë mjetet e specifikuara duke iu kaluar emri i lidhësit dhe argumentet e tij.
- Në pronat "C_STANDARD" dhe "OBJC_STANDARD", si dhe në mjetet për konfigurimin e parametrave të kompilatorit (Compile Features), është shtuar mbështetje për specifikimet C17 dhe C23.
- NĂ« utilitarin cmake Ă«shtĂ« shtuar opsioni "âtoolchain " pĂ«r tĂ« pĂ«rcaktuar rrugĂ«n e mjetit.
- ĂshtĂ« siguruar ndriçimi i tipeve tĂ« mesazheve qĂ« shfaqen nĂ« terminal.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r kompjuterin Fujitsu.
- Në komandën "foreach()" është siguruar izolimi i variablave të ciklit brenda ciklit.
Gjithashtu mund tĂ« theksohet lĂ«shimi i sistemit tĂ« ndĂ«rtimit Meson 0.59, i cili pĂ«rdoret pĂ«r ndĂ«rtimin e projekteve si X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME dhe GTK. Kodi i Meson Ă«shtĂ« shkruar nĂ« gjuhĂ«n Python dhe ofrohet nĂ«n licencĂ«n Apache 2.0. MbĂ«shtetet kryq-ndĂ«rtimi dhe ndĂ«rtimi nĂ« Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dhe Windows duke pĂ«rdorur GCC, Clang, Visual Studio dhe kompilatorĂ« tĂ« tjerĂ«. ĂshtĂ« e mundur tĂ« ndĂ«rtohen projekte nĂ« gjuhĂ« tĂ« ndryshme programimi, duke pĂ«rfshirĂ« C, C++, Fortran, Java dhe Rust. NĂ« vend tĂ« utilitarit make, pĂ«r ndĂ«rtim pĂ«rdoret nĂ« parazgjedhje mjeti Ninja, por Ă«shtĂ« e mundur tĂ« pĂ«rdoren edhe backend-e tĂ« tjera, si xcode dhe VisualStudio.
Sistemini përfshin një procesor shumëplatformatik të varësisë, i cili lejon përdorimin e Meson për ndërtimin e paketeve për shpërndarje. Rregullat e ndërtimit përcaktohen në një gjuhë të thjeshtë dhe të orientuar drejt subjektit, që dallon me lexueshmëri të mirë dhe është e kuptueshme për përdoruesin (sipas autorëve, zhvilluesi duhet të harxhojë sa më pak kohë të jetë e mundur në shkrimin e rregullave). Një mënyrë inkrementale ndërtimi mbështetet, ku riciklohen vetëm komponentët, që janë direkt të lidhur me ndryshimet e bërë që nga ndërtimi i kaluar. Meson mund të përdoret për të formuar ndërtime të përsëritshme, ku ekzekutimi i ndërtimit në mjedise të ndryshme çon në gjenerimin e dosjeve ekzekutiv të plotë identike.
Novitetet kryesore të Meson 0.59:
- Shtuar mbështetje për gjuhën Cython (një variant i zgjeruar i Python, i orientuar për të thjeshtuar integrimin me kodin në gjuhën C).
- Shtuar fjalët kyçe «unescaped_variables» dhe «unescaped_uninstalled_variables» për të përcaktuar variablat në pkgconfig pa e eskaluar hapësirën me simbolin «\».
- Shtuar mbështetje për wrc (Kompiluesin e Burimeve të Wine).
- Realizuar mundësia e gjenerimit të projekteve për Visual Studio 2012 dhe Visual Studio 2013.
- TĂ« gjitha komandat qĂ« lidhen me pĂ«rpunimin e nĂ«nprojekteve tani fillojnĂ« pĂ«rveçse secilin nĂ«nprojekt paralelisht. Numri i proceseve qĂ« punojnĂ« paralelisht pĂ«rcaktohet nga parametri «ânum-processes».
Burimi: opennet.ru
