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-
- 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