Lëshimi i sistemit të ndërtimit CMake 3.17.0

prezantuar lëshimi i një gjeneratori të skripteve të hapura ndër-platformë Bëni 3.17, i cili vepron si një alternativë për Autotools dhe përdoret në projekte të tilla si KDE, LLVM/Clang, MySQL, MariaDB, ReactOS dhe Blender. Kodi CMake është shkruar në C++ dhe shpërndahet nën licencën BSD.

CMake është i dukshëm për ofrimin e një gjuhe të thjeshtë skriptimi, një mjet për të zgjeruar funksionalitetin përmes moduleve, një numër minimal varësish (pa lidhje me M4, Perl ose Python), mbështetje për caching, praninë e mjeteve për përpilim të kryqëzuar, mbështetje për gjenerimin e ndërtimit skedarë për një gamë të gjerë sistemesh ndërtimi dhe përpiluesish, prania e shërbimeve ctest dhe cpack për përcaktimin e skripteve të testimit dhe ndërtimit të paketave, mjeti cmake-gui për vendosjen interaktive të parametrave të ndërtimit.

Kryesore përmirësime:

  • Është shtuar një gjenerator i ri i skriptit të montimit i bazuar në paketën e veglave Ninja - "Ninja Multi-Config", i cili ndryshon nga gjeneratori i vjetër në aftësinë për të përpunuar disa konfigurime të montimit menjëherë.
  • Në gjeneratorin e skriptit të montimit për Visual Studio u shfaq aftësia për të përcaktuar skedarët burimorë të lidhur me çdo konfigurim (burime për konfigurim).
  • Aftësia për të vendosur parametrat meta për CUDA (“cuda_std_03”, “cuda_std_14”, etj.) është shtuar në veglat për vendosjen e parametrave të përpiluesit (Karakteristikat e Kompilimit).
  • U shtuan variablat "CMAKE_CUDA_RUNTIME_LIBRARY" dhe "CUDA_RUNTIME_LIBRARY" për të zgjedhur llojin e bibliotekave të kohës së ekzekutimit kur përdorni CUDA.
  • U shtua moduli "FindCUDAToolkit" për të përcaktuar paketën e veglave CUDA të disponueshme në sistem pa aktivizuar gjuhën CUDA.
  • U shtua komanda "--debug-find" në cmake për të nxjerrë një diagnostifikim shtesë të lexueshëm gjatë kryerjes së operacioneve të kërkimit. Për qëllime të ngjashme, ndryshorja CMAKE_FIND_DEBUG_MODE është shtuar.
  • Shtoi mbështetje për kërkimin e mjeteve CURL duke përdorur skedarët e konfigurimit të gjeneruar nga cmake "CURLConfig.cmake" në modulin "FindCURL". Për të çaktivizuar këtë sjellje, ofrohet ndryshorja CURL_NO_CURL_CMAKE.
  • Moduli FindPython ka shtuar mundësinë për të kërkuar për komponentët e Python në mjedise virtuale të menaxhuara duke përdorur "conda".
  • Programi ctest ka shtuar opsionet "--no-tests=[gabim|injoroj]" për të përcaktuar sjelljen në rastin e pa testeve dhe "--përsërit" për të vendosur kushtet për testet e përsëritura (deri në kalimin, pas-timeout).
  • Vetitë e synuara të montimit INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES dhe INTERFACE_LINK_DEPENDS tani janë transferuar midis varësive të brendshme të bibliotekave të montuara statikisht.
  • Kur përdorni paketën e veglave MinGW, kërkimi për skedarët DLL me komandën find_library çaktivizohet si parazgjedhje (në vend të kësaj, përpjekja e paracaktuar është të importoni bibliotekat ".dll.a").
  • Logjika për zgjedhjen e mjetit ninja në gjeneratorin Ninja tani nuk varet nga emri i skedarit të ekzekutueshëm - përdoret mjeti i parë ninja-build, ninja ose samu që gjendet në shtigjet e përcaktuara përmes ndryshores së mjedisit PATH.
  • U shtua një komandë "-E rm" në cmake që mund të përdoret për të hequr skedarët dhe drejtoritë në vend të komandave të veçanta "-E remove" dhe "-E remove_directory".

Burimi: opennet.ru

Shto një koment