Tutvustati CMake 3.21, platvormideülese avatud ehitusskripti generaatori uut versiooni, mis toimib Autotools'i alternatiivina ja on kasutuses projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake kood on kirjutatud C++ keeles ja on BSD litsentsi all.
CMake paistab silma oma lihtsa сценарийide keele poolest, funktsionaalsuse laiendamise vahendite, miinimum sõltuvuste (ilma M4, Perl või Python seotuse), cache'i toe, ristkompileerimise tööriistade olemasolu, ehitusfailide genereerimise toetuse laiale valikule ehitus süsteemidele ja kompilaatoritele, samuti olemasolu utiliite ctest ja cpack testimise сценарийide ning pakettide ehitamise määratlemiseks, utiliidi cmake-gui interaktiivseks ehitusparameetrite seadistamiseks.
Peamised parandused:
- Lisatud täieõiguslik tugi HIP (Heterogeneous-Computing Interface for Portability) programmeerimiskeele jaoks, C++ keele dialekt, mis on suunatud CUDA rakenduste teisendamise lihtsustamisele kaasaskantavaks C++ koodiks.
- Lisatud ehitusskriptide generaator Visual Studio 17 2022 jaoks, mis põhineb Visual Studio 2022 Preview 1.1 eelvaate versioonil.
- Makefile ja Ninja ehitusprogrammide generaatorites on lisatud omadused C_LINKER_LAUNCHER ja CXX_LINKER_LAUNCHER, mille abil saab korraldada abivahendite käivitamist, mis käivitavad linkimise, nagu staatilised analüsaatorid. Generaator käivitab nimetatud abivahendid, edastades neile linkija nime ja argumendid.
- Omadustes „C_STANDARD” ja „OBJC_STANDARD”, samuti kompilaatori seadistusvahendites (Compile Features) on lisatud tugi C17 ja C23 spetsifikatsioonidele.
- CMake tööriista on lisatud võimalus „—toolchain ”, et määrata tööriistade tee.
- Tagatud on sõnumite tüübi esiletoomine, mis kuvatakse terminalis.
- Lisatud Fujitsu kompilaatori tugi.
- foreach() käskluses on tagatud tsükliliste muutujate isoleerimine tsükli sees.
Samuti on välja kuulutatud Meson 0.59 ehitusraami versioon, mida kasutatakse projektide, nagu X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ja GTK, ehitamiseks. Meson kood on kirjutatud Pythonis ja see põhineb Apache 2.0 litsentsil. Toetatakse ristkompileerimist ja ehitamist Linuxis, Illumoses/Solarises, FreeBSD, NetBSD, DragonFly BSD, Haikus, macOS-is ja Windowsis, kasutades GCC, Clang, Visual Studio ja teisi kompilaatorite. Erinevate programmeerimiskeelte projektide, sealhulgas C, C++, Fortran, Java ja Rust, ehitamine on võimalik. Vaikimisi kasutatakse ehitamisel Ninja tööriistu, kuid on võimalik ka teiste tagaplaneeringute nagu xcode ja VisualStudio kasutamine.
Süsteemi on integreeritud platvormideülene sõltuvuste haldur, mis võimaldab kasutada Mesoni pakettide ehitamiseks jaotustes. Ehitusreeglid määratakse lihtsustatud ainepõhises keeles, millel on hea loetavus ja mis on arendajale arusaadav (autori kavandatud eesmärk on, et arendaja kulutaks reeglite kirjutamisele võimalikult vähe aega). Toetatakse inkrementaalset ehitusrežiimi, kus uuendatakse ainult komponente, mis on otseselt seotud muudatustega, mis on tehtud alates eelmisest ehitusest. Mesoni saab kasutada korduvate ehituste loomisel, mille puhul ehituse käivitamine erinevates keskkondades toob kaasa täielikult identsete täitmisfailide genereerimise.
Meson 0.59 peamised uuendused:
- Lisatud tugi Cythonile (Python'i laiendatud variant, mille eesmärk on lihtsustada C koodiga integreerimist).
- Lisatud märksõnad „unescaped_variables” ja „unescaped_uninstalled_variables” muutujate määramiseks pkgconfig'is ilma ruumide põgenemiste tegemiseta sümboliga „\”.
- Lisatud tugi wrc-le (Wine Resource Compiler).
- Tehtud on projektide genereerimise võimalus Visual Studio 2012 ja Visual Studio 2013 jaoks.
- Kõik alamprojektide töötlemisega seotud käsud käivitavad nüüd vaikimisi iga alamprojekti paralleelselt. Paralleelselt töötavate protsesside arv on määratud valikuga „—num-processes”.
Allikas: opennet.ru
