került sor egy többplatformos nyílt build szkriptgenerátor kiadása CMake 3.15, amely az Autotools alternatívájaként működik, és olyan projektekben használatos, mint a KDE, LLVM/Clang, MySQL, MariaDB, ReactOS és Blender. A CMake kód C++ nyelven íródott, és a BSD licenc alatt kerül terjesztésre.
A CMake arról nevezetes, hogy egyszerű szkriptnyelvet biztosít, a funkcionalitás modulokon keresztül történő kibővítését, minimális számú függőséget (nincs kötve M4-hez, Perlhez vagy Pythonhoz), gyorsítótárazási támogatást, keresztfordítási eszközöket, összeállítás generálásának támogatását. fájlok a build rendszerek és fordítók széles skálájához, a jelenléti ctest és cpack segédprogramok tesztszkriptek és csomagok összeállításához, cmake-gui segédprogram az összeállítási paraméterek interaktív beállításához.
A kezdeti nyelvi támogatás hozzáadásra került a Ninja-alapú build script generátorhoz Gyors, amelyet az Apple fejlesztett;
Támogatás hozzáadva a Windows Clang fordítójának egy olyan változatához, amely MSVC ABI-val épül fel, de GNU-stílusú parancssori opciókat használ;
CMAKE_MSVC_RUNTIME_LIBRARY és MSVC_RUNTIME_LIBRARY változók hozzáadva az MSVC ABI-n (MS Visual Studio) alapuló fordítók által használt futásidejű könyvtárak kiválasztásához;
Az olyan fordítóknál, mint az MSVC, a CMAKE__FLAGS alapértelmezés szerint leállítja a figyelmeztető vezérlőjelzők, például "/W3" felsorolását;
Hozzáadott egy "COMPILE_LANG_AND_ID:" generátorkifejezést a fordítói beállítások meghatározásához a célfájlokhoz, a CMAKE__COMPILER_ID és a LANGUAGE változók használatával minden kódfájlhoz;
A generátor kifejezésekben C_COMPILER_ID, CXX_COMPILER_ID,
CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
A COMPILE_LANG_AND_ID és a PLATFORM_ID támogatta egyetlen érték egy olyan listához való illesztését, amelynek elemei vesszővel vannak elválasztva;
Hozzáadtuk a CMAKE_FIND_PACKAGE_PREFER_CONFIG változót, így a find_package() meghívása először a csomag konfigurációs fájlját keresi, még akkor is, ha elérhető kereső;
Az interfész-könyvtárak esetében a PUBLIC_HEADER és a PRIVATE_HEADER tulajdonságok beállításának támogatása került hozzáadásra, amellyel a fejlécek az install(TARGETS) paranccsal állíthatók be, a PUBLIC_HEADER és PRIVATE_HEADER argumentumok átadásával;
A CMAKE_VS_JUST_MY_CODE_DEBUGGING változó és a VS_JUST_MY_CODE_DEBUGGING céltulajdonság hozzáadva a "Just My Code" mód engedélyezéséhez a Visual Studio hibakeresőben az MSVC cl 19.05 és újabb verzióival történő fordításkor;
A FindBoost modult újratervezték, amely mostantól holisztikusabban működik Config és Module módban, más keresési modulok jelenlétében;
A message() parancs mostantól támogatja a NOTICE, VERBOSE,
DEBUG és TRACE;
Az "export(PACKAGE)" parancs most nem csinál semmit, hacsak nincs kifejezetten engedélyezve a CMAKE_EXPORT_PACKAGE_REGISTRY változón keresztül.