Agefouert Verëffentlechung vun engem Cross-Plattform Open Build Skript Generator CMake 3.17, déi als Alternativ zu Autotools handelt an a Projete wéi KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender benotzt gëtt. De CMake Code ass an C++ geschriwwen an ënner der BSD Lizenz verdeelt.
CMake ass bemierkenswäert fir eng einfach Skriptsprooch ze liwweren, e Mëttel fir d'Funktionalitéit duerch Moduler ze verlängeren, eng minimal Unzuel vun Ofhängegkeeten (keng Bindung op M4, Perl oder Python), Caching-Ënnerstëtzung, d'Präsenz vun Tools fir Cross-Kompilatioun, Ënnerstëtzung fir Build ze generéieren Dateien fir eng breet Palette vu Build Systemer a Compilers, d'Präsenz ctest an cpack Utilities fir Test Scripten a Baupakete ze definéieren, cmake-gui Utility fir interaktiv Bauparameter ze setzen.
En neien Assemblée Skript Generator baséiert op der Ninja Toolkit gouf bäigefüügt - "Ninja Multi-Config", deen sech vum alen Generator ënnerscheet an der Fäegkeet fir verschidde Versammlungskonfiguratiounen gläichzäiteg ze veraarbechten.
Am Assemblée Skript Generator fir Visual Studio erschéngt d'Fäegkeet fir Quelldateien ze definéieren, déi mat all Konfiguratioun assoziéiert sinn (pro Configuratiounsquellen).
D'Kapazitéit fir Metaparameter fir CUDA ze setzen ("cuda_std_03", "cuda_std_14", etc.) gouf an d'Tools bäigefüügt fir Compilerparameter ze setzen (Compile Features).
D'Variabelen "CMAKE_CUDA_RUNTIME_LIBRARY" an "CUDA_RUNTIME_LIBRARY" hinzugefügt fir d'Art vu Runtime-Bibliothéiken ze wielen wann Dir CUDA benotzt.
De Modul "FindCUDAToolkit" bäigefüügt fir den CUDA Toolkit am System ze bestëmmen ouni d'CUDA Sprooch z'aktivéieren.
"--debug-find" Kommando bäigefüügt fir cmake fir zousätzlech liesbar Diagnostik auszeginn wann Dir Sichoperatiounen ausféiert. Fir ähnlech Zwecker ass d'CMAKE_FIND_DEBUG_MODE Variabel dobäigesat ginn.
Ënnerstëtzung bäigefüügt fir no CURL Tools ze sichen mat cmake-generéierte Konfiguratiounsdateien "CURLConfig.cmake" an de "FindCURL" Modul. Fir dëst Verhalen auszeschalten, gëtt d'CURL_NO_CURL_CMAKE Variabel zur Verfügung gestallt.
De FindPython Modul huet d'Fäegkeet bäigefüügt fir Python Komponenten a virtuellen Ëmfeld ze sichen, déi mat "conda" verwaltet ginn.
D'ctest Utility huet d'Optiounen "--no-tests=[Error|ignore]" bäigefüügt fir d'Verhalen am Fall vu keng Tester ze definéieren an "--repeat" fir d'Konditioune fir d'Wiederlaaf vun Tester ze setzen (bis-pass, nom Timeout).
D'Assemblée Zil-Eegeschafte INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES an INTERFACE_LINK_DEPENDS ginn elo ënner den internen Ofhängegkeete vu statesch zesummegesate Bibliothéiken transferéiert.
Wann Dir de MinGW Toolkit benotzt, ass d'Sich no DLL Dateien mam Kommando find_library par défaut deaktivéiert (amplaz ass de Standardversuch ".dll.a" Bibliothéiken z'importéieren).
D'Logik fir den Ninja-Utility am Ninja-Generator ze wielen hänkt elo net vum Numm vun der ausführbarer Datei of - déi éischt Ninja-Build, Ninja oder Samu Utility, déi an de Weeër definéiert gëtt duerch d'PATH Ëmfeldvariabel, gëtt benotzt.
En "-E rm" Kommando bäigefüügt fir cmake dee benotzt ka ginn fir Dateien an Verzeichnisser ze läschen anstatt déi separat "-E remove" an "-E remove_directory" Kommandoen.