Před pár dny Byl vydán multiplatformní open source generátor skriptů CMake 3.15 který funguje jako alternativa k Autotools a používá se v projektech jako KDE, LLVM / Clang, MySQL, MariaDB, ReactOS a Blender.
CMake je multiplatformní nástroj pro generování nebo automatizaci kódu. Název je zkratkou pro „cross platform make“ (make cross platform make, beyond the use of „make“ in the name„CMake je samostatná sada a vyšší úroveň než běžný systém výroby Unixu, který je podobný automatickým nástrojům.
O společnosti CMake
CMake je pozoruhodný poskytnutím jednoduchého skriptovacího jazyka, nástroje pro rozšíření funkčnosti napříč moduly, minimální počet závislostí (bez vazby na M4, Perl nebo Python), podpora ukládání do mezipaměti, dostupnost nástrojů pro křížovou kompilaci, podpora generování souborů sestavení pro širokou škálu kompilátorových systémů a překladačů.
Obslužné programy ctest a cpack pro definování testovacích scénářů a vytváření balíků s obslužným programem cmake-gui pro interaktivní konfiguraci parametrů sestavení.
CMake se používá k řízení procesu kompilace softwaru pomocí jednoduchých a nezávislých konfiguračních souborů platformy. Cmake generuje nativní makefiles a pracovní prostory, které lze použít v požadovaném vývojovém prostředí.
Je srovnatelný se systémem Unix GNU build v tom, že proces je řízen konfiguračními soubory, v případě CMake zvaného CMakeLists.txt.
Na rozdíl od GNU build systému, který je omezeno na unixové platformyCMake podporuje generování souborů pro různé operační systémy, což usnadňuje údržbu a eliminuje potřebu mít více sad souborů pro každou platformu.
Proces sestavení je řízen vytvořením jednoho nebo více souborů CMakeLists.txt v každém adresáři (včetně podadresářů).
Kód CMake je napsán v C ++ a je distribuován pod licencí BSD.
CMake 3.15 Hlavní nové funkce
Tato nová verze zvýrazněno příchodem počáteční podpory generátoru pro jazyk Swift vyvinutý společností Apple byl přidán do generátoru skriptů sestavení Ninja Toolkit.
Kromě toho, přichází také podpora pro možnost kompilátoru Clang pro Windows, který je postaven na ABI MSVC, ale využívá možnosti příkazového řádku ve stylu GNU.
Vývojáři zdůrazňují, že proměnné CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
jsou přidány k výběru běhových knihoven používaných kompilátory ABI MSVC
(MS VisualStudio).
Pro kompilátory jako MSVC
v CMAKE__FLAGS
Ve výchozím nastavení je zastaven seznam příznaků řízení varování, například „/ W3“.
Z dalších vylepšení, která jsou zvýrazněna v oznámení o vydání této nové verze, najdeme následující:
- Přidán generující výraz '
COMPILE_LANG_AND_ID
: »Definovat možnosti kompilátoru pro cílové soubory, které používají proměnnéCMAKE__COMPILER_ID
yLANGUAGE
pro každý soubor kódu - Generátorové výrazy
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
přidat podporu pro shodu hodnoty se seznamem, položky oddělené čárkami - Proměnná byla přidána
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, ve kterém volání find_package () nejprve vyhledá konfigurační soubor balíčku, i když je k dispozici vyhledávací modul - Pro knihovny rozhraní byla přidána podpora pro nastavení vlastností
PUBLIC_HEADER y PRIVATE_HEADER
, jehož záhlaví lze konfigurovat příkazem install (TARGETS) předávajícím argumentyPUBLIC_HEADER
yPRIVATE_HEADER
- Proměnná byla přidána
CMAKE_VS_JUST_MY_CODE_DEBUGGING
a vlastnost cíleVS_JUST_MY_CODE_DEBUGGING
povolit režim „Just My Code“ v ladicím programu Visual Studio při kompilaci pomocí MSVC cl 19.05 a novějších verzí. - Přepracován byl modul FindBoost, který nyní pracuje komplexněji v režimech konfigurace a modulu za přítomnosti dalších vyhledávacích modulů
- Do příkazu message () byla přidána podpora typů NOTICE, VERBOSE, DEBUG a TRACE.
- Příkaz „export (PACKAGE)“ nyní nedělá nic, dokud není prostřednictvím proměnné výslovně povolen
CMAKE_EXPORT_PACKAGE_REGISTRY
.
Pokud se o tom chcete dozvědět více, můžete se poradit následující odkaz.