Veröffentlichung des CMake 3.18 Build-Systems

Eingereicht von Veröffentlichung eines plattformübergreifenden Open-Build-Skriptgenerators CMake 3.18, das als Alternative zu Autotools fungiert und in Projekten wie KDE, LLVM/Clang, MySQL, MariaDB, ReactOS und Blender verwendet wird. Der CMake-Code ist in C++ geschrieben und wird unter der BSD-Lizenz vertrieben.

CMake zeichnet sich durch die Bereitstellung einer einfachen Skriptsprache, einer Möglichkeit zur Erweiterung der Funktionalität durch Module, einer minimalen Anzahl von Abhängigkeiten (keine Bindung an M4, Perl oder Python), Caching-Unterstützung, dem Vorhandensein von Tools für die Kreuzkompilierung und Unterstützung für die Generierung von Builds aus Dateien für eine Vielzahl von Build-Systemen und Compilern, das Vorhandensein der Dienstprogramme ctest und cpack zum Definieren von Testskripten und Erstellen von Paketen sowie das Dienstprogramm cmake-gui zum interaktiven Festlegen von Build-Parametern.

Haupt- Verbesserungen:

  • Die CUDA-Sprache kann mit Clang auf anderen Plattformen als Windows erstellt werden. Die separate CUDA-Kompilierung wird noch auf keiner Plattform unterstützt.
  • Unterstützung für die Profilerstellung von CMake-Skripten mit den Optionen „--profiling-output“ und „--profiling-format“ hinzugefügt.
  • Die Befehle add_library() und add_executable() unterstützen jetzt die Erstellung von Alias-Zielen, die auf nicht globale importierte Ziele verweisen.
  • Befehl cmake_lingual() für Metaoperationen für Skript- oder integrierte Befehle hinzugefügt.
  • Unterbefehl „file(CONFIGURE)“ hinzugefügt, dessen Funktionalität der von configure_file() ähnelt, der Inhalt jedoch als Zeichenfolge und nicht als Dateiverweis übergeben wird.
  • Den Befehlen find_program(), find_library(), find_path() und find_file() wurde eine ERFORDERLICHE Option hinzugefügt, um die Verarbeitung mit einem Fehler abzubrechen, wenn nichts gefunden wurde.
  • Variable „CMAKE_CUDA_ARCHITECTURES“ hinzugefügt, um die CUDA-Architektur anzugeben (wird automatisch gesetzt, wenn die Variable „CMAKE_CUDA_COMPILER_ID“ auf „NVIDIA“ gesetzt ist).
  • Die Eigenschaft „UNITY_BUILD_MODE“ zur Auswahl des Gruppierungsalgorithmus für enthaltene Quelldateien (BATCH, GROUP) in Generatoren wurde hinzugefügt.
  • CheckLinkerFlag-Modul hinzugefügt, um zu überprüfen, ob Link-Flags korrekt sind.
  • $-Generator-Ausdrücke hinzugefügt , $ , $ und $ .
  • Die Variable CTEST_RESOURCE_SPEC_FILE wurde zum Dienstprogramm ctest hinzugefügt, um die Ressourcenspezifikationsdatei anzugeben.

Source: opennet.ru

Kommentar hinzufügen