CMake 3.17.0 enthält einen neuen Ninja-Skriptgenerator, Verbesserungen und mehr

Der Start von die neue Version des plattformübergreifenden Open Source-Skriptgenerators CMake 3.17, in welchem Entwickler haben gearbeitet ein neues hinzufügen Skriptgenerator namens "Ninja Multi-Config", Verbesserungen am Visual Studio-Skriptgenerator, allgemeine Optimierungen und mehr.

Für diejenigen, die es nicht wissen CMakeDas sollten sie wissen ist ein Multiplattform-Codegenerierungs- oder Automatisierungstool Dies ist eine Alternative zu Autotools und wird in Projekten wie KDE, LLVM / Clang, MySQL, MariaDB, ReactOS und Blender verwendet.

CMake ist bemerkenswert für die Bereitstellung einer einfachen Skriptsprache, bedeutet, die Funktionalität über Module hinweg zu erweitern, minimale Anzahl von Abhängigkeiten (keine Bindung an M4, Perl oder Python), Unterstützung für das Caching, Vorhandensein von Werkzeugen für die Kreuzkompilierung, Unterstützung für das Generieren von Build-Dateien für eine Vielzahl von Build-Systemen und Compilern, das Vorhandensein von ctest- und cpack-Dienstprogrammen zum Definieren von Test- und Build-Skripten, cmake-gui-Dienstprogramm zum interaktiven Konfigurieren von Build-Parametern.

Dieses Dienstprogramm wird verwendet, um den Kompilierungsprozess der Software zu steuern Verwenden einfacher und plattformunabhängiger Konfigurationsdateien. Generiert native Makefiles und Arbeitsbereiche, die in der gewünschten Entwicklungsumgebung verwendet werden können.

Es ist vergleichbar mit dem GNU-Build-System Unix, dass der Prozess durch Konfigurationsdateien gesteuert wird, im Fall von CMake mit dem Namen CMakeLists.txt.

Was ist neu in CMake 3.17.0?

Wie eingangs erwähnt, ist eine der wichtigsten Neuerungen, die in dieser neuen Version von CMake 3.17.0 auffallen, die Hinzufügen eines neuen Build-Skript-Generators basierend auf Ninja-Tools, die den Namen «habenNinja Multi-Konfiguration«, Was sich vom vorherigen Generator durch diesen neuen Generator unterscheidet bietet die Möglichkeit, mehrere Build-Konfigurationen gleichzeitig zu verarbeiten.

Mittlerweile, im Build-Skript-Generator In Visual Studio können Sie jetzt Quelldateien definieren, die an jede Einstellung angehängt sind.

Die Möglichkeit, Metaparameter für CUDA festzulegen ("Cuda_std_03", "cuda_std_14" usw.) wurde zu Tools hinzugefügt Compilerfunktionen konfigurieren (Kompilierungsfunktionen).

Darüber hinaus erwähnt die Anzeige dies Variablen wurden hinzugefügt «CMAKE_CUDA_RUNTIME_LIBRARY„Und“CUDA_RUNTIME_LIBRARY»Auswahl des Typs der Laufzeitbibliotheken bei Verwendung von CUDA sowie des Moduls« FindCUDAToolkit »zur Ermittlung der auf dem System verfügbaren CUDA-Tools ohne Einbeziehung der CUDA-Sprache.

In CMake 3.17.0 der Befehl «–Debug-Find»Wurde hinzugefügt, um zusätzliche lesbare Diagnosen bei der Suche anzuzeigen. Für ähnliche Zwecke die Variable CMAKE_FIND_DEBUG_MODE.

Hinzugefügt Unterstützung für das Auffinden von CURL-Tools im Modul «FindCURL» Verwenden der von cmake generierten Konfigurationsdateien "CURLConfig.cmake". Um dieses Verhalten zu deaktivieren, wird die Variable CURL_NO_CURL_CMAKE bereitgestellt.

Das Modul FindPython bietet die Möglichkeit, nach Python-Komponenten zu suchen in virtuellen Umgebungen, die von «conda«.

Hinzugefügt die Option «–No-tests = [Fehler | ignorieren]»Zum Dienstprogramm ctest zu Verhalten ohne Beweise bestimmen und "–repeat", um die Bedingungen für den Neustart der Tests anzugeben (bis sie nach dem Timeout bestanden sind).

Von den anderen Änderungen, die in der Ankündigung erwähnt werden:

  • Die Build-Target-Eigenschaften SCHNITTSTELLE_LINK_OPTIONS, SCHNITTSTELLE_LINK_DIRECTORIES e SCHNITTSTELLE_LINK_DEPENDS Sie wurden zwischen den internen Abhängigkeiten der statisch zusammengestellten Bibliotheken übertragen.
  • Wenn Sie das MinGW-Toolkit verwenden, suchen Sie mit dem Befehl nach DLL-Dateien find_library Es ist standardmäßig deaktiviert (es wird versucht, stattdessen die Bibliotheken ".dll.a" zu importieren).
  • Die Logik der Auswahl des Ninja-Dienstprogramms im Ninja-Generator hängt jetzt nicht mehr vom Namen der ausführbaren Datei ab - das erste Dienstprogramm wird verwendet Ninja-Build, ninja o samu gefunden, das in den Pfaden gefunden wird, die durch die Umgebungsvariable PATH definiert sind.
  • Der Befehl "-Ehm»Wurde dem Dienstprogramm cmake hinzugefügt, mit dem Dateien und Verzeichnisse anstelle der separaten Befehle entfernt werden können.«-E entfernen„Und“-E Verzeichnis_entfernen«.

Schließlich wenn Sie mehr darüber wissen wollenkönnen Sie die Ankündigung dieser neuen Version in der überprüfen folgenden Link


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.