CMake 3.17.0 přichází s novým generátorem skriptů Ninja, vylepšeními a dalšími

Spuštění nová verze multiplatformního generátoru skriptů s otevřeným zdrojovým kódem CMake 3.17, ve kterém vývojáři pracovali přidat nový generátor skriptů s názvem "Ninja Multi-Config", vylepšení generátoru skriptů sady Visual Studio, obecné optimalizace a další.

Pro ty, kteří to nevědí CMake, měli by to vědět je multiplatformní nástroj pro generování nebo automatizaci kódu který funguje jako alternativa k Autotools a používá se v projektech jako KDE, LLVM / Clang, MySQL, MariaDB, ReactOS a Blender.

CMake je pozoruhodný poskytnutím jednoduchého skriptovacího jazyka, prostředky k rozšíření funkčnosti napříč moduly, minimální počet závislostí (bez vazby na M4, Perl nebo Python), podpora ukládání do mezipaměti, přítomnost nástrojů pro křížovou kompilaci, podpora generování sestavovacích souborů pro širokou škálu sestavovacích systémů a překladačů, přítomnost obslužných programů ctest a cpack pro definování testovacích a sestavovacích skriptů, obslužný program cmake-gui pro interaktivní konfiguraci parametrů sestavení.

Tento nástroj slouží k řízení procesu kompilace softwaru pomocí jednoduchých a na platformě nezávislých konfiguračních souborů. Generuje nativní makefiles a pracovní prostory, které lze použít v požadovaném vývojovém prostředí.

Je to srovnatelné se systémem sestavení GNU Unix v tom, že proces je řízen konfiguračními soubory, v případě CMake zvaného CMakeLists.txt.

Co je nového v CMake 3.17.0

Jak bylo uvedeno na začátku, jednou z hlavních novinek, které v této nové verzi CMake 3.17.0 vynikají, je přidání nového generátoru skriptu pro sestavení na základě nástrojů Ninja, který má název «Ninja Multi Config«, Což se liší od předchozího generátoru, protože tento nový generátor poskytuje možnost zpracovávat více konfigurací sestavení současně.

Pro jeho částv generátoru skriptu pro sestavení Pro Visual Studio můžete nyní definovat zdrojové soubory připojené ke každému nastavení.

Možnost nastavit metaparametry pro CUDA ("Cuda_std_03", "cuda_std_14" atd.) byl přidán do nástrojů konfigurovat funkce kompilátoru (funkce kompilace).

Kromě toho to reklama zmiňuje byly přidány proměnné «CMAKE_CUDA_RUNTIME_LIBRARY"Y"CUDA_RUNTIME_LIBRARY»Chcete-li vybrat typ běhových knihoven při použití CUDA a také modul« FindCUDAToolkit »k určení nástrojů CUDA dostupných v systému bez použití jazyka CUDA.

V CMake 3.17.0 příkaz «–Debug-find»Bylo přidáno pro zobrazení další čitelné diagnostiky při vyhledávání. Pro podobné účely proměnná CMAKE_FIND_DEBUG_MODE.

Přidané podpora pro vyhledání nástrojů CURL v modulu «FindCURL» pomocí konfiguračních souborů "CURLConfig.cmake" generovaných cmake. K deaktivaci tohoto chování je k dispozici proměnná CURL_NO_CURL_CMAKE.

Modul FindPython přidává možnost vyhledávat komponenty Pythonu ve virtuálních prostředích ovládaných «Conda".

Přidané možnost «–Žádné testy = [chyba | ignorovat]»K nástroji ctest do určit chování při absenci důkazů a „–repeat“ k určení podmínek pro restartování testů (dokud neprojde, po uplynutí časového limitu).

Z dalších změn uvedených v oznámení:

  • Vytvořte vlastnosti cíle INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS byly přeneseny mezi interními závislostmi staticky sestavených knihoven.
  • Při použití sady nástrojů MinGW je hledání souborů DLL pomocí příkazu najít_knihovnu ve výchozím nastavení je zakázán (ve výchozím nastavení je proveden pokus o import knihoven „.dll.a“).
  • Logika výběru nástroje ninja v generátoru Ninja nyní nezávisí na názvu spustitelného souboru - použije se první nástroj ninja-stavba, ninja o samu found, který se nachází v cestách definovaných prostřednictvím proměnné prostředí PATH.
  • Příkaz "-Erm»Byl přidán nástroj cmake, který lze použít k odstranění souborů a adresářů místo samostatných příkazů«-E odstranit"Y"-E odstranit_adresář".

Konečně pokud o tom chcete vědět víc, můžete si prohlédnout oznámení o této nové verzi v následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.