Release der Build-System CMake 3.18

Vorstellung Plattformübergreifende Veröffentlichung des offenen Build-Skript-Generators CMake 3.18, 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:

  • Für die CUDA-Sprache wurde die Möglichkeit hinzugefügt, mit Clang auf Plattformen zu bauen, die sich von Windows unterscheiden. Die separate Kompilierung von CUDA wird derzeit auf keiner Plattform unterstützt.
  • Unterstützung für das Profiling von CMake-Szenarien hinzugefügt, unter Verwendung der Optionen „—profiling-output“ und „—profiling-format“.
  • In die Befehle add_library() und add_executable() wurde die Unterstützung für die Erstellung von Alias-Zielen eingeführt, die auf nicht globale importierte Ziele verweisen.
  • Der Befehl cmake_language() wurde hinzugefügt, um metaprogrammatische Operationen auf skriptbasierten oder eingebetteten Befehlen auszuführen.
  • Der Unterbefehl file(CONFIGURE) wurde hinzugefügt, der funktional dem Befehl configure_file() ähnelt, aber den Inhalt als Zeichenfolge anstelle eines Dateihandles übergibt.
  • In die Befehle find_program(), find_library(), find_path() und find_file() wurde die Option REQUIRED hinzugefügt, die vorschreibt, dass die Verarbeitung mit einem Fehler gestoppt wird, wenn nichts gefunden wurde.
  • Die Variable „CMAKE_CUDA_ARCHITECTURES“ wurde hinzugefügt, um die CUDA-Architektur anzugeben (wird automatisch festgelegt, wenn die Variable „CMAKE_CUDA_COMPILER_ID“ den Wert „NVIDIA“ hat).
  • Die Eigenschaft „UNITY_BUILD_MODE“ wurde hinzugefügt, um in den Generatoren einen Algorithmus zur Gruppierung der eingeschlossenen Quellcode-Dateien auszuwählen (BATCH, GROUP).
  • Das Modul CheckLinkerFlag wurde hinzugefügt, um die Richtigkeit von Linker-Flags zu überprüfen.
  • Generatorausdrücke $, $, $ und $ wurden hinzugefügt.
  • Die Variable CTEST_RESOURCE_SPEC_FILE wurde zu dem ctest-Tool hinzugefügt, um eine Datei mit Ressourcenspezifikationen anzugeben.

Quelle: opennet.ru

60GB SSD 8Gb DDR4