Byl představen přehled multiplatformního otevřeného generátoru skriptů pro sestavení CMake 3.22, který slouží jako alternativní nástroj k Autotools a využívá se v projektech jako KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender. Kód CMake je napsán v C++ a je distribuován pod licencí BSD.
CMake se vyznačuje poskytováním jednoduchého skriptovacího jazyka, prostředky pro rozšíření funkcionality prostřednictvím modulů, minimálním počtem závislostí (není závislý na M4, Perlu nebo Pythonu), podporou ukládání do mezipaměti, existencí nástrojů pro kross-kompilaci, podporou generování souborů sestavení pro široké spektrum systémů sestavení a kompilátorů, dostupností nástrojů ctest a cpack pro definici testovacích a balicí skriptů a nástrojem cmake-gui pro interaktivní nastavení parametrů sestavení.
Hlavní vylepšení:
- V prostředcích pro nastavení parametrů kompilátoru (Compile Features) byla přidána možnost zapnout a vypnout rozšíření kompilátoru bez určení úrovně podpory standardu, a také byla vyloučena instalace zbytečných příznaků s úrovní standardu jazyka, pokud vybraná nastavení odpovídají nainstalovaným výchozím parametrům kompilátoru.
- Do příkazu cmake_host_system_information() byla přidána možnost dotazu na identifikátor operačního systému, který je uložen v souboru /etc/os-release.
- Byly přidány proměnné prostředí CMAKE_BUILD_TYPE a CMAKE_CONFIGURATION_TYPES, které umožňují nastavit výchozí hodnotu identických proměnných CMake.
- Byla přidána proměnná „CMAKE_REQUIRE_FIND_PACKAGE_“, která převádí volání funkce find_package() pro nalezení uvedeného balíčku na povinné.
- Byla přidána proměnná prostředí „CMAKE_INSTALL_MODE“ pro nastavení symbolických odkazů místo kopie souborů při volání „install()“.
- Byl přidán příznak „CMAKE__LINK_WHAT_YOU_USE_FLAG“ a proměnná „CMAKE_LINK_WHAT_YOU_USE_CHECK“ pro nastavení a kontrolu příznaků linkeru.
- V modulu FetchContent byla zajištěna úprava nastavených proměnných „CMAKE_TLS_VERIFY“, „CMAKE_TLS_CAINFO“, „CMAKE_NETRC“ a „CMAKE_NETRC_FILE“ ve skriptu pro sestavení externích projektů (dříve byly tyto parametry ignorovány).
- V potřebném modulu „CMakeDependentOption“ byla do makra „cmake_dependent_option()“ přidána plná podpora syntaxe podmínkových výrazů.
- Moduly „FindJasper“ a „FindMatlab“ nyní poskytují importované cíle.
- V vlastnosti „VS_SETTINGS“ byla implementována podpora všech typů souborů se zdrojovými kódy.
- Byl vyhlášen za zastaralý a bude odstraněn v jednom z následujících vydání generátoru „Visual Studio 10 2010“.
Zdroj: opennet.ru
