A CMake 3.17.0 verziójának kiadása.

Bemutatva a cross-platform open script generator for builds CMake 3.17, serving as an alternative to Autotools and used in projects like KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, and Blender. The CMake code is written in C++ and is distributed under the BSD license.

A CMake kiemelkedő a könnyen használható scripting nyelvével, a funkcionalitás kiterjesztésének lehetőségével modulokon keresztül, minimális függőségekkel (nincsenek M4, Perl vagy Python függőségek), cache támogatással, cross-compiling eszközökkel, széles spektrumú build rendszerek és fordítók számára készült build fájlok generálásával, valamint a ctest és cpack eszközök biztosításával, amelyek a tesztelő és csomagoló script meghatározására szolgálnak, továbbá a cmake-gui eszközzel, amely interaktív módon teszi lehetővé a build paraméterek beállítását.

Fő fejlesztések:

  • Új generátor került hozzáadásra a Ninja eszközkészlet alapú építési szkriptekhez — a "Ninja Multi-Config", amely lehetővé teszi egyszerre több építési konfiguráció feldolgozását az előző generátortól eltérően.
  • Az építési szkriptek generátorában a Visual Studio számára megjelenik lehetőség van forrásfájlok meghatározására, amelyek minden konfigurációhoz kapcsolódnak (per-config sources).
  • A fordítóparaméterek beállítására szolgáló eszközökbe (Compile Features) hozzáadva a CUDA meta-paraméterek megadásának lehetősége ("cuda_std_03", "cuda_std_14" stb.).
  • A CUDA használata esetén a futási könyvtár típusának kiválasztásához hozzáadva a "CMAKE_CUDA_RUNTIME_LIBRARY" és "CUDA_RUNTIME_LIBRARY" változók.
  • Hozzáadva a "FindCUDAToolkit" modul a rendszerben elérhető CUDA eszközkészlet meghatározásához anélkül, hogy a CUDA nyelvet aktiválnánk.
  • A cmake eszközhöz hozzáadva a "—debug-find" parancs, amely további olvasható diagnosztikát ad meg a keresési műveletek végrehajtásakor. Hasonló célokra hozzáadva a CMAKE_FIND_DEBUG_MODE változó.
  • A "FindCURL" modulhoz hozzáadva a CURL eszközkészlet keresésének támogatása a generált cmake konfigurációs fájlok segítségével "CURLConfig.cmake". Az ilyen viselkedés letiltására a CURL_NO_CURL_CMAKE változó áll rendelkezésre.
  • A FindPython modulhoz hozzáadva a Python komponensek keresésének lehetősége virtuális környezetekben, amelyeket a "conda" segítségével kezelnek.
  • A ctest eszközhöz hozzáadva az "—no-tests=[error|ignore]" opciók a tesztek hiányában történő viselkedés meghatározásához, valamint az "—repeat" az újraindítás feltételeinek meghatározásához (until-pass, after-timeout).
  • Biztosítva van az INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES és INTERFACE_LINK_DEPENDS építési céljainak tulajdonságainak átvitele a statikusan összefogott könyvtárak belső függőségeiben.
  • A MinGW eszközkészlet használatakor alapértelmezett beállításként le van tiltva a DLL fájlok keresése a find_library parancs révén (ehelyett alapértelmezés szerint a "*.dll.a" könyvtárak importálására tett kísérlet valósul meg).
  • A Ninja generátor eszközben a ninja kiválasztási logikája most már nem függ az végrehajtható fájl nevétől — az első találatként felbukkanó ninja-build, ninja vagy samu eszköz kerül felhasználásra az PATH környezeti változó által meghatározott útvonalakon.
  • A cmake eszközhöz hozzáadva a "-E rm" parancs, amelyet fájlok és könyvtárak törlésére használhatunk a külön parancsok, mint a "-E remove" és "-E remove_directory" helyett.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster