Uvolnění verze systému sestavení CMake 3.17.0

Představení víceplatformní otevřený generátor skriptů sestavení CMake 3.17, fungující jako alternativa k Autotools a používaný v projektech jako KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender. Kód CMake je napsán v jazyce 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í:

  • Přidán nový generátor skriptů pro sestavení založený na nástroji Ninja — „Ninja Multi-Config“, který se liší od starého generátoru tím, že umožňuje zpracování několika sestav najednou.
  • V generátoru skriptů pro Visual Studio se objevila možnost určovat soubory se zdrojovými texty spojené s každou konfigurací (per-config sources).
  • Do nástrojů pro nastavení parametrů kompilace (Compile Features) byla přidána možnost nastavení meta-parametrů pro CUDA („cuda_std_03“, „cuda_std_14“ atd.).
  • Byly přidány proměnné „CMAKE_CUDA_RUNTIME_LIBRARY“ a „CUDA_RUNTIME_LIBRARY“ pro výběr typu runtime knihoven při používání CUDA.
  • Byl přidán modul „FindCUDAToolkit“ pro detekci dostupného CUDA nástroje bez připojení jazyka CUDA.
  • Do utilitky cmake byla přidána příkaz „—debug-find“ pro výstup dodatečné čitelné diagnostiky při provádění vyhledávacích operací. Pro podobné účely byla přidána proměnná CMAKE_FIND_DEBUG_MODE.
  • Do modulu „FindCURL“ byla přidána podpora vyhledávání nástroje CURL pomocí generovaných cmake konfiguračních souborů „CURLConfig.cmake“. Pro vypnutí tohoto chování je k dispozici proměnná CURL_NO_CURL_CMAKE.
  • Do modulu FindPython byla přidána možnost vyhledávání komponent Python v virtuálních prostředích spravovaných pomocí „conda“.
  • Do utilitky ctest byly přidány možnosti „—no-tests=[error|ignore]“ pro určení chování v případě absence testů a „—repeat“ pro nastavení podmínek opakovaného spuštění testů (until-pass, after-timeout).
  • Bylo zajištěno přenesení vlastností cíle sestavení INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES a INTERFACE_LINK_DEPENDS mezi interními závislostmi staticky sestavovaných knihoven.
  • Při použití nástroje MinGW je ve výchozím nastavení vypnuto hledání DLL souborů příkazem find_library (namísto toho se ve výchozím nastavení pokusí importovat knihovny „.dll.a“).
  • Logika výběru nástroje ninja v generátoru Ninja nyní nezávisí na názvu spustitelného souboru — používá se první nalezený nástroj ninja-build, ninja nebo samu, nalezený v cestách určených proměnnou prostředí PATH.
  • Do utilitky cmake byl přidán příkaz „-E rm“, který lze použít k odstranění souborů a adresářů místo samostatných příkazů „-E remove“ a „-E remove_directory“.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster