Esitatud on plokkide koodigeneraatori CMake 3.22 ristplatvormiline avatud väljaanne, mis on alternatiiv Autotools'ile ja mida kasutatakse sellistes projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake kood on kirjutatud C++ keeles ja jaotatakse BSD litsentsi alusel.
CMake paistab silma lihtsa skriptikeele pakkumisega, funktsionaalsuse laiendamise võimalustega moodulite kaudu, minimaalsete sõltuvustega (ilma M4, Perl või Python'i seotuse), cache'i toe, ristkompileerimise tööriistade olemasolu, laia valiku ehitus-süsteemide ja kompilaatorite jaoks ehitusfailide genereerimise tuge, samuti ctest ja cpack utiliitide olemasolu testimise skriptide ja pakettide kogumise määratlemiseks ning interaktiivsete ehitusparameetrite seadistamiseks mõeldud cmake-gui utiliidiga.
Peamised täiustused:
- Kompilaatori konfiguratsioonivahendites (Compile Features) on lisatud võimalus lubada ja keelata kompilaatori laiendusi ilma standardi toetuse taset määramata ning eemaldada liigsed lipud, mis on seotud keele standardi tasemega, kui valitud seadistused vastavad kompilaatori vaikeseadetele.
- Käskluses cmake_host_system_information() on lisatud võimalus küsida operatsioonisüsteemi identifikaatorit, mis on salvestatud failis /etc/os-release.
- Lisatud on keskkonnamuutujad CMAKE_BUILD_TYPE ja CMAKE_CONFIGURATION_TYPES, mille kaudu saab seadistada CMake sama nimetusega muutujate vaikeväärtust.
- Lisatud on muutuja „CMAKE_REQUIRE_FIND_PACKAGE_“, mis muudab find_package() funktsiooni, et küsida määratud paketi avastamist kohustuslikuks.
- Lisatud on keskkonnamuutuja „CMAKE_INSTALL_MODE“ sümboolsete linkide seadmiseks failide kopeerimise asemel, kui kutset kasutatakse „install()“.
- Lisatud on lipp „CMAKE__LINK_WHAT_YOU_USE_FLAG“ ja muutuja „CMAKE_LINK_WHAT_YOU_USE_CHECK“ kompilatsioonilippude seadmiseks ja kontrollimiseks.
- FetchContent moodulis on tagatud seatud muutujate „CMAKE_TLS_VERIFY“, „CMAKE_TLS_CAINFO“, „CMAKE_NETRC“ ja „CMAKE_NETRC_FILE“ edastamine väliste projektide ehitusscriptidesse (enne ignoreeriti neid parameetreid).
- Moodulis „CMakeDependentOption“ on makrosse „cmake_dependent_option()“ lisatud täielik tugi tingimuskaarte süntaksile.
- Moodulid „FindJasper“ ja „FindMatlab“ pakuvad nüüd imporditavaid sihte.
- Atribuudis „VS_SETTINGS“ on rakendatud tugi kõigi allikate failitüüpide jaoks.
- Deleeritud ja eemaldatakse ühe järgmise väljaande jooksul Visual Studio 10 2010 generaator.
Allikas: opennet.ru
