Izdanje sustava za izgradnju CMake 3.17.0

Predstavljen izdanje multiplatformskog otvorenog generatora za skripte za izgradnju CMake 3.17, koji služi kao alternativa Autotools i koristi se u projektima poput KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. Kod CMake napisan je u C++ i distribuira se pod BSD licencom.

CMake se ističe jednostavnim jezikom skripti, mogućnostima proširenja funkcionalnosti putem modula, minimalnim brojem ovisnosti (nema povezanosti s M4, Perlom ili Pythonom), podrškom za keširanje, alatima za kružno kompiliranje, podrškom za generiranje datoteka za izgradnju za širok spektar sustava izgradnje i kompajlera, te alatima ctest i cpack za definiranje skripti za testiranje i pakiranje, a također i alatom cmake-gui za interaktivno postavljanje opcija izgradnje.

Glavne poboljšanja:

  • Dodani su novi generator skripti za izgradnju temeljen na alatu Ninja — "Ninja Multi-Config", koji se razlikuje od starog generatora po mogućnosti obrade više konfiguracija izgradnje odjednom.
  • U generatoru skripti za izgradnju za Visual Studio dodana je dodana je mogućnost definiranja datoteka s izvorom povezanih s svakom konfiguracijom (per-config sources).
  • U alate za postavljanje opcija kompajlera (Compile Features) dodana je mogućnost postavljanja meta-parametara za CUDA ("cuda_std_03", "cuda_std_14" itd.).
  • Dodane su varijable "CMAKE_CUDA_RUNTIME_LIBRARY" i "CUDA_RUNTIME_LIBRARY" za odabir vrste runtime biblioteka pri korištenju CUDA.
  • Dodan je modul "FindCUDAToolkit" za otkrivanje dostupnog alata CUDA u sustavu bez uključivanja jezika CUDA.
  • U alat cmake dodana je naredba "—debug-find" za ispis dodatne čitljive dijagnostike prilikom izvođenja operacija pretraživanja. Za slične ciljeve dodana je varijabla CMAKE_FIND_DEBUG_MODE.
  • U modul "FindCURL" dodana je podrška za pretraživanje alata CURL putem generiranih cmake konfiguracijskih datoteka "CURLConfig.cmake". Za onemogućavanje ovog ponašanja predviđena je varijabla CURL_NO_CURL_CMAKE.
  • U modul FindPython dodana je mogućnost pretraživanja Python komponenti u virtualnim okruženjima kojima upravlja "conda".
  • U alat ctest dodane su opcije "—no-tests=[error|ignore]" za određivanje ponašanja u slučaju nepostojanja testova i "—repeat" za postavljanje uvjeta ponovnog izvođenja testova (until-pass, after-timeout).
  • Osigurano je prebacivanje svojstava cilja agregacije INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES i INTERFACE_LINK_DEPENDS među internim zavisnostima statički prikupljenih biblioteka.
  • Kada se koristi MinGW alat, prema zadanim postavkama isključen je pretraživač DLL datoteka komandom find_library (umjesto toga, prema zadanim postavkama pokušava se uvesti biblioteke " .dll.a").
  • Logika odabira alata ninja u Ninja generatoru više ne zavisi od naziva izvršne datoteke — koristi se prvi pronađeni alat ninja-build, ninja ili samu, koji se nalazi u putanjama definiranim putem varijable okruženja PATH.
  • U alat cmake dodana je komanda "-E rm", koju možete koristiti za brisanje datoteka i direktorija umjesto odvojenih komandi "-E remove" i "-E remove_directory".

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster