Bidalita Plataforma anitzeko gidoi-sorgailu ireki baten kaleratzea CMake 3.17, Autotools-en alternatiba gisa jokatzen duena eta KDE, LLVM/Clang, MySQL, MariaDB, ReactOS eta Blender bezalako proiektuetan erabiltzen dena. CMake kodea C++-n idatzita dago eta BSD lizentziapean banatzen da.
CMake nabarmentzen da script-lengoaia sinple bat eskaintzeagatik, moduluen bidez funtzionalitatea hedatzeko baliabidea, mendekotasun kopuru minimo bat (M4, Perl edo Python-ekin lotu gabe), cache-laguntza, konpilazio gurutzatua egiteko tresnen presentzia, eraikuntza sortzeko laguntza. Eraikuntza-sistema eta konpilatzaile askotarako fitxategiak, presentzia ctest eta cpack utilitateak proba-scriptak definitzeko eta paketeak eraikitzeko, cmake-gui erabilgarritasuna eraikuntza-parametroak modu interaktiboan ezartzeko.
Ninja tresna-kitean oinarritutako muntaketa-script-sorgailu berri bat gehitu da - "Ninja Multi-Config", sorgailu zaharretik desberdintzen dena hainbat muntaia-konfigurazio aldi berean prozesatzeko gaitasunagatik.
Visual Studio-rako muntaketa-script-sorgailuan agertu konfigurazio bakoitzarekin lotutako iturburu-fitxategiak definitzeko gaitasuna (konfigurazio bakoitzeko iturriak).
CUDArako meta-parametroak ezartzeko aukera (Β«cuda_std_03Β», Β«cuda_std_14Β», etab.) konpiladorearen parametroak ezartzeko tresnetan gehitu da (Konpilatu Ezaugarriak).
"CMAKE_CUDA_RUNTIME_LIBRARY" eta "CUDA_RUNTIME_LIBRARY" aldagaiak gehitu dira CUDA erabiltzean exekuzio-liburutegi mota hautatzeko.
"FindCUDAToolkit" modulua gehitu da sisteman eskuragarri dagoen CUDA tresna-tresna zehazteko, CUDA hizkuntza gaitu gabe.
"--debug-find" komandoa gehitu da cmake-ri bilaketa-eragiketak egitean irakur daitezkeen diagnostiko gehigarriak ateratzeko. Antzeko helburuetarako, CMAKE_FIND_DEBUG_MODE aldagaia gehitu da.
CURL tresnak bilatzeko laguntza gehitu da cmake-k sortutako "CURLConfig.cmake" konfigurazio fitxategiak erabiliz "FindCURL" moduluan. Portaera hau desgaitzeko, CURL_NO_CURL_CMAKE aldagaia eskaintzen da.
FindPython moduluak "conda" erabiliz kudeatutako ingurune birtualetan Python osagaiak bilatzeko gaitasuna gehitu du.
ctest utilitateak "--no-tests=[error|ez ikusi]" aukerak gehitu ditu probarik ez dagoenean portaera definitzeko eta "--repeat" probak berriro exekutatzeko baldintzak ezartzeko (pasatu arte, denbora-muga ondoren).
Multzoaren xede-propietateak INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES eta INTERFACE_LINK_DEPENDS estatikoki bildutako liburutegien barne-menpekotasunen artean transferitzen dira orain.
MinGW tresna-kit erabiltzean, find_library komandoa duten DLL fitxategien bilaketa lehenespenez desgaituta dago (horrela, saiakera lehenetsia ".dll.a" liburutegiak inportatzea da).
Ninja sorgailuko ninja utilitatea hautatzeko logika orain ez dago fitxategi exekutagarriaren izenaren araberakoa - PATH ingurune-aldagaiaren bidez definitutako bideetan aurkitutako lehen ninja-build, ninja edo samu utilitya erabiltzen da.
"-E rm" komando bat gehitu da cmake-ri, fitxategiak eta direktorioak kentzeko "-E remove" eta "-E remove_directory" komandoen ordez.