Der Kompositserver Wayfire 0.4 wurde veröffentlicht.

Vorstellung Plattformübergreifende Veröffentlichung des offenen Build-Skript-Generators CMake 3.17, das als Alternative zu Autotools dient und in Projekten wie KDE, LLVM/Clang, MySQL, MariaDB, ReactOS und Blender verwendet wird. Der Code von CMake ist in C++ geschrieben und wird unter der BSD-Lizenz veröffentlicht.

CMake zeichnet sich durch eine einfache Skriptsprache, Erweiterungsmöglichkeiten durch Module, eine minimale Abhängigkeit (keine Bindung an M4, Perl oder Python), Unterstützung für Caching, Werkzeuge für Cross-Compiling, die Generierung von Build-Dateien für eine breite Palette von Build-Systemen und Compilern, sowie die Tools ctest und cpack zur Definition von Test- und Paketbuild-Skripts aus, sowie durch das cmake-gui-Tool für die interaktive Konfiguration von Build-Parametern.

Haupt- Verbesserungen:

  • Ein neuer Generator für Build-Skripte basierend auf Ninja - "Ninja Multi-Config" - wurde hinzugefügt, der sich vom alten Generator dadurch unterscheidet, dass er mehrere Build-Konfigurationen gleichzeitig verarbeiten kann.
  • Im Build-Skripter-Generator für Visual Studio ein wurde die Möglichkeit hinzugefügt, Quelldateien zu definieren, die mit jeder Konfiguration verknüpft sind (per-config sources).
  • In die Funktionen zur Compiler-Konfiguration (Compile Features) wurde die Möglichkeit eingeführt, Meta-Parameter für CUDA anzugeben ("cuda_std_03", "cuda_std_14" usw.).
  • Die Variablen "CMAKE_CUDA_RUNTIME_LIBRARY" und "CUDA_RUNTIME_LIBRARY" wurden hinzugefügt, um den Typ der Runtime-Bibliotheken bei der Verwendung von CUDA auszuwählen.
  • Das Modul "FindCUDAToolkit" wurde hinzugefügt, um das in der Systemumgebung verfügbare CUDA-Toolkit ohne die Aktivierung der CUDA-Sprache zu ermitteln.
  • Der cmake-Befehl hat die Option "—debug-find" erhalten, um zusätzliche lesbare Diagnosen während der Suchoperationen auszugeben. Für ähnliche Zwecke wurde die Variable CMAKE_FIND_DEBUG_MODE hinzugefügt.
  • Im Modul "FindCURL" wurde die Unterstützung für die Suche nach dem CURL-Toolkit durch generierte CMake-Konfigurationsdateien "CURLConfig.cmake" hinzugefügt. Um dieses Verhalten zu deaktivieren, gibt es die Variable CURL_NO_CURL_CMAKE.
  • Im Modul FindPython wurde die Möglichkeit hinzugefügt, Python-Komponenten in von "conda" verwalteten virtuellen Umgebungen zu suchen.
  • In die ctest-Utility wurden die Optionen "—no-tests=[error|ignore]" zur Bestimmung des Verhaltens im Falle fehlender Tests sowie "—repeat" zur Festlegung der Bedingungen für das Wiederholen von Tests (until-pass, after-timeout) hinzugefügt.
  • Es wurde sichergestellt, dass die Eigenschaften der Build-Ziele INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES und INTERFACE_LINK_DEPENDS in die internen Abhängigkeiten statisch gebaute Bibliotheken übertragen werden.
  • Beim Einsatz des MinGW-Tools ist die Suche nach DLL-Dateien mit dem find_library-Befehl standardmäßig deaktiviert (stattdessen wird standardmäßig versucht, "*.dll.a"-Bibliotheken zu importieren).
  • Die Logik zur Auswahl des Ninja-Tools im Ninja-Generator hängt jetzt nicht mehr vom Namen der ausführbaren Datei ab - es wird das zuerst gefundene Werkzeug ninja-build, ninja oder samu verwendet, das in den über die Umgebungsvariable PATH festgelegten Pfaden gefunden wird.
  • In die cmake-Utility wurde der Befehl "-E rm" eingefügt, der zum Löschen von Dateien und Verzeichnissen anstelle der separaten Befehle "-E remove" und "-E remove_directory" verwendet werden kann.

Quelle: opennet.ru

60GB SSD 8Gb DDR4