Verëffentlechung vum CMake 3.17.0 Build System

Agefouert Verëffentlechung vun engem Cross-Plattform Open Build Skript Generator CMake 3.17, déi als Alternativ zu Autotools handelt an a Projete wéi KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender benotzt gëtt. De CMake Code ass an C++ geschriwwen an ënner der BSD Lizenz verdeelt.

CMake ass bemierkenswäert fir eng einfach Skriptsprooch ze liwweren, e Mëttel fir d'Funktionalitéit duerch Moduler ze verlängeren, eng minimal Unzuel vun Ofhängegkeeten (keng Bindung op M4, Perl oder Python), Caching-Ënnerstëtzung, d'Präsenz vun Tools fir Cross-Kompilatioun, Ënnerstëtzung fir Build ze generéieren Dateien fir eng breet Palette vu Build Systemer a Compilers, d'Präsenz ctest an cpack Utilities fir Test Scripten a Baupakete ze definéieren, cmake-gui Utility fir interaktiv Bauparameter ze setzen.

Haaptstrooss Verbesserungen:

  • En neien Assemblée Skript Generator baséiert op der Ninja Toolkit gouf bäigefüügt - "Ninja Multi-Config", deen sech vum alen Generator ënnerscheet an der Fäegkeet fir verschidde Versammlungskonfiguratiounen gläichzäiteg ze veraarbechten.
  • Am Assemblée Skript Generator fir Visual Studio erschéngt d'Fäegkeet fir Quelldateien ze definéieren, déi mat all Konfiguratioun assoziéiert sinn (pro Configuratiounsquellen).
  • D'Kapazitéit fir Metaparameter fir CUDA ze setzen ("cuda_std_03", "cuda_std_14", etc.) gouf an d'Tools bäigefüügt fir Compilerparameter ze setzen (Compile Features).
  • D'Variabelen "CMAKE_CUDA_RUNTIME_LIBRARY" an "CUDA_RUNTIME_LIBRARY" hinzugefügt fir d'Art vu Runtime-Bibliothéiken ze wielen wann Dir CUDA benotzt.
  • De Modul "FindCUDAToolkit" bäigefüügt fir den CUDA Toolkit am System ze bestëmmen ouni d'CUDA Sprooch z'aktivéieren.
  • "--debug-find" Kommando bäigefüügt fir cmake fir zousätzlech liesbar Diagnostik auszeginn wann Dir Sichoperatiounen ausféiert. Fir ähnlech Zwecker ass d'CMAKE_FIND_DEBUG_MODE Variabel dobäigesat ginn.
  • Ënnerstëtzung bäigefüügt fir no CURL Tools ze sichen mat cmake-generéierte Konfiguratiounsdateien "CURLConfig.cmake" an de "FindCURL" Modul. Fir dëst Verhalen auszeschalten, gëtt d'CURL_NO_CURL_CMAKE Variabel zur Verfügung gestallt.
  • De FindPython Modul huet d'Fäegkeet bäigefüügt fir Python Komponenten a virtuellen Ëmfeld ze sichen, déi mat "conda" verwaltet ginn.
  • D'ctest Utility huet d'Optiounen "--no-tests=[Error|ignore]" bäigefüügt fir d'Verhalen am Fall vu keng Tester ze definéieren an "--repeat" fir d'Konditioune fir d'Wiederlaaf vun Tester ze setzen (bis-pass, nom Timeout).
  • D'Assemblée Zil-Eegeschafte INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES an INTERFACE_LINK_DEPENDS ginn elo ënner den internen Ofhängegkeete vu statesch zesummegesate Bibliothéiken transferéiert.
  • Wann Dir de MinGW Toolkit benotzt, ass d'Sich no DLL Dateien mam Kommando find_library par défaut deaktivéiert (amplaz ass de Standardversuch ".dll.a" Bibliothéiken z'importéieren).
  • D'Logik fir den Ninja-Utility am Ninja-Generator ze wielen hänkt elo net vum Numm vun der ausführbarer Datei of - déi éischt Ninja-Build, Ninja oder Samu Utility, déi an de Weeër definéiert gëtt duerch d'PATH Ëmfeldvariabel, gëtt benotzt.
  • En "-E rm" Kommando bäigefüügt fir cmake dee benotzt ka ginn fir Dateien an Verzeichnisser ze läschen anstatt déi separat "-E remove" an "-E remove_directory" Kommandoen.

Source: opennet.ru

Setzt e Commentaire