cmake(1)¶
Optionen¶
-S <path-to-source>
Pfad zum Stammverzeichnis des zu erstellenden CMake-Projekts.
-B <path-to-build>
Pfad zum Verzeichnis, das CMake als Stammverzeichnis des Build-Verzeichnisses verwendet.
Wenn das Verzeichnis noch nicht existiert, erstellt CMake es.
-C <initial-cache>
Laden Sie ein Skript vor, um den Cache zu füllen.
Wenn CMake zum ersten Mal in einem leeren Build-Baum ausgeführt wird, erstellt es eineCMakeCache.txt
Datei und füllt sie mit anpassbaren Einstellungen fürdas Projekt. Diese Option kann verwendet werden, um eine Datei anzugeben, aus der Cache-Einträge geladen werden sollen, bevor die Scmake-Listendateien des Projekts zum ersten Mal durchlaufen werden. Die geladenen Einträge haben Vorrang vor den Standardwerten des Projekts. Die angegebene Datei sollte ein CMake-Skript sein, das set()
Befehle enthält, die die Option CACHE
verwenden, keine Datei im Cache-Format.
Verweise auf CMAKE_SOURCE_DIR
und CMAKE_BINARY_DIR
innerhalb des Skripts führen zur obersten Quell- und Build-Struktur.
-D <var>:<type>=<value>, -D <var>=<value>
Erstellen oder aktualisieren Sie einen CMake CACHE
Eintrag.
Wenn CMake zum ersten Mal in einem leeren Build-Baum ausgeführt wird, erstellt es eineCMakeCache.txt
Datei und füllt sie mit anpassbaren Einstellungen fürdas Projekt. Diese Option kann verwendet werden, um eine Einstellung anzugeben, die Vorrang vor dem Standardwert des Projekts hat. Die Option kann für beliebig viele CACHE
Einträge verwendet werden.
Wenn der :<type>
-Teil angegeben ist, muss er einer der Typen sein, die in der set()
-Befehlsdokumentation für seineCACHE
-Signatur angegeben sind.Wenn der :<type>
Teil weggelassen wird, wird der Eintrag ohne Typ erstellt, wenn er nicht bereits mit einem Typ vorhanden ist. Wenn ein Befehl im Projekt den Typ auf PATH
oder FILEPATH
setzt, wird die <value>
in einen absoluten Pfad konvertiert.
Diese Option kann auch als einzelnes Argument angegeben werden:-D<var>:<type>=<value>
oder -D<var>=<value>
.
-U <globbing_expr>
Entfernen Sie übereinstimmende Einträge aus CMake CACHE
.
Diese Option kann verwendet werden, um eine oder mehrere Variablen aus derCMakeCache.txt
-Datei zu entfernen, wobei Globbing-Ausdrücke mit *
und ?
unterstützt werden. Die Option kann für beliebig viele CACHE
Einträge wiederholt werden.
Verwenden Sie mit Vorsicht, Sie können Ihre CMakeCache.txt
nicht funktionsfähig machen.
-G <generator-name>
Geben Sie einen Build-Systemgenerator an.
CMake unterstützt möglicherweise mehrere native Build-Systeme auf bestimmten Plattformen. Ein Generator ist für die Erzeugung eines bestimmten verantwortlichbausystem. Mögliche Generatornamen sind im Handbuchcmake-generators(7)
angegeben.
Wenn nicht angegeben, überprüft CMake die CMAKE_GENERATOR
environmentvariable und greift ansonsten auf eine eingebaute Standardauswahl zurück.
-T <toolset-spec>
Toolset-Spezifikation für den Generator, falls unterstützt.
Einige CMake-Generatoren unterstützen eine Toolset-Spezifikation, um dem nativen Build-System mitzuteilen, wie ein Compiler ausgewählt wird. Siehe dieCMAKE_GENERATOR_TOOLSET
Variable für Details.
-A <platform-name>
Geben Sie den Plattformnamen an, falls vom Generator unterstützt.
Einige CMake-Generatoren unterstützen einen Plattformnamen, der dem Build-System gegeben werden muss, um einen Compiler oder ein SDK auszuwählen. Siehe dieCMAKE_GENERATOR_PLATFORM
Variable für Details.
-Wno-dev
Entwickler-Warnungen unterdrücken.
Unterdrückt Warnungen, die für den Autor derCMakeLists.txt
-Dateien gedacht sind. Standardmäßig wird dies auch ausschaltendepräkationswarnungen.
-Wdev
Entwicklerwarnungen aktivieren.
Aktivieren Sie Warnungen, die für den Autor der CMakeLists.txt
-Dateien bestimmt sind. Standardmäßig werden dadurch auch Deprecation-Warnungen aktiviert.
-Werror=dev
Machen Entwickler Warnungen Fehler.
Machen Sie Warnungen, die für den Autor der CMakeLists.txt
fileserrors . Standardmäßig werden dadurch auch veraltete Warnungen als Fehler aktiviert.
-Wno-error=dev
Machen Entwickler Warnungen nicht Fehler.
Machen Sie Warnungen, die für den Autor der CMakeLists.txt
Dateien noterrors . Standardmäßig werden dadurch auch veraltete Warnungen als Fehler deaktiviert.
-Wdeprecated
Aktivieren Sie Warnungen zu veralteten Funktionen.
Aktivieren Sie Warnungen für die Verwendung veralteter Funktionen, die für den Autor der CMakeLists.txt
-Dateien bestimmt sind.
-Wno-deprecated
Unterdrückt veraltete Funktionalitätswarnungen.
Unterdrückt Warnungen für die Verwendung veralteter Funktionen, die für den Autor der CMakeLists.txt
-Dateien gedacht sind.
-Werror=deprecated
Machen Sie veraltete Makro- und Funktionswarnungen zu Fehlern.
Machen Sie Warnungen für die Verwendung von veralteten Makros und Funktionen, die für den Autor der CMakeLists.txt
Dateien gedacht sind, Fehler.
-Wno-error=deprecated
Machen Sie veraltete Makro- und Funktionswarnungen zu keinen Fehlern.
Machen Sie Warnungen für die Verwendung veralteter Makros und Funktionen, die für den Autor der CMakeLists.txt
-Dateien gedacht sind, nicht für Fehler.
-L
Nicht erweiterte zwischengespeicherte Variablen auflisten.
List CACHE
Variablen führen CMake aus und listen alle Variablen aus dem CMake CACHE
auf, die nicht als INTERNAL
oder ADVANCED
markiert sind.Dies zeigt effektiv die aktuellen CMake-Einstellungen an, die dann mit der Option -D
geändert werden können. Das Ändern einiger Variablen kann dazu führen, dass weitere Variablen erstellt werden. Wenn A
angegeben ist, werden auch erweiterte Variablen angezeigt. Wenn H
angegeben ist, wird alsodisplay Hilfe für jede Variable.
-N
Nur Ansichtsmodus.
Nur den Cache laden. Führen Sie configure und generatesteps nicht aus.
--graphviz=
Graphviz von Abhängigkeiten generieren, siehe CMakeGraphVizOptions
für mehr.
Generieren Sie eine Graphviz-Eingabedatei, die alle Bibliotheks- und ausführbaren Abhängigkeiten im Projekt enthält. Weitere Informationen finden Sie in der Dokumentation zuCMakeGraphVizOptions
.
--system-information
Dump Informationen über dieses System.
Dump eine breite Palette von Informationen über das aktuelle System. Wenn runfrom oben in einem Binärbaum für ein CMake-Projekt ausgeführt wird, werden zusätzliche Informationen wie Cache, Protokolldateien usw. ausgegeben.
--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>
Legen Sie die Protokollebene fest.
Der Befehl message()
gibt nur Nachrichten der angegebenen Protokollstufe oder höher aus. Die Standardprotokollebene ist STATUS
.
Um eine Protokollebene zwischen CMake-Läufen beizubehalten, legen Sie stattdessenCMAKE_MESSAGE_LOG_LEVEL
als Cache-Variable fest.Wenn sowohl die Befehlszeilenoption als auch die Variable angegeben sind, hat die Befehlszeilenoption Vorrang.
Aus Gründen der Abwärtskompatibilität wird --loglevel
auch als Asynonym für diese Option akzeptiert.
--log-context
Aktivieren Sie den message()
Befehl, der den an jede Nachricht angehängten Kontext ausgibt.
Diese Option aktiviert die Anzeige des Kontexts für den aktuellen CMake-Lauf only.To stellen Sie sicher, dass der Kontext für alle nachfolgenden CMake-Läufe persistent ist, und legen Sie stattdessenCMAKE_MESSAGE_CONTEXT_SHOW
als Cache-Variable fest.Wenn diese Befehlszeilenoption angegeben ist, wird CMAKE_MESSAGE_CONTEXT_SHOW
ignoriert.
--debug-trycompile
Löschen Sie nicht den try_compile()
Build-Baum.Nur nützlich für jeweils ein try_compile()
.
Löschen Sie nicht die Dateien und Verzeichnisse, die für try_compile()
-Aufrufe erstellt wurden. Dies ist nützlich beim Debuggen fehlgeschlagener try_compiles. Es kann jedoch die Ergebnisse der Try-Compiles ändern, da alter Müll von einem früheren Try-Compile dazu führen kann, dass ein anderer Test entweder falsch besteht oder fehlschlägt. Diese Option wird am besten für jeweils einen Kompilierungsversuch und nur beim Debuggen verwendet.
--debug-output
Setzen Sie cmake in einen Debug-Modus.
Drucken Sie zusätzliche Informationen während des Cmake-Laufs wie Stack-Traces mitmessage(SEND_ERROR)
Aufrufen.
--debug-find
Setzen Sie cmake find-Befehle in einen Debug-Modus.
Drucken Sie zusätzliche Find-Aufrufinformationen während des Cmake-Laufs an standarderror. Die Ausgabe ist für den menschlichen Verzehr und nicht zum Parsen bestimmt.Siehe auch die Variable CMAKE_FIND_DEBUG_MODE
zum Debuggenein lokaler Teil des Projekts.
--trace
Setzen Sie cmake in den Trace-Modus.
Gibt eine Ablaufverfolgung aller getätigten Anrufe und von wo aus aus.
--trace-expand
Setzen Sie cmake in den Trace-Modus.
Wie --trace
, jedoch mit erweiterten Variablen.
--trace-format=<format>
Setzen Sie cmake in den Trace-Modus und legen Sie das Trace-Ausgabeformat fest.
<format>
kann einer der folgenden Werte sein.
human
Druckt jede Trace-Zeile in einem für Menschen lesbaren Format. Dies ist das Standardformat.
json-v1
Druckt jede Zeile als separates JSON-Dokument. Jedes Dokument wird durch einen Zeilenumbruch getrennt (
\n
). Es ist garantiert, dass Nonewline-Zeichen in einem JSON-Dokument vorhanden sind.JSON-Trace-Format:
{ "file": "/full/path/to/the/CMake/file.txt", "line": 0, "cmd": "add_executable", "args": , "time": 1579512535.9687231, "frame": 2}Die Mitglieder sind:
file
Der vollständige Pfad zur CMake-Quelldatei, in der die Funktion aufgerufen wurde.
line
Die Zeile in
file
des Funktionsaufrufs.
defer
Optionales Element, das vorhanden ist, wenn der Funktionsaufruf verschoben wurdeby
cmake_language(DEFER)
. Falls vorhanden, ist sein Wert astring, der den verzögerten Aufruf<id>
.
cmd
Der Name der aufgerufenen Funktion.
args
Eine String-Liste aller Funktionsparameter.
time
Zeitstempel (Sekunden seit Epoche) des Funktionsaufrufs.
frame
Stapelrahmentiefe der aufgerufenen Funktion.
Zusätzlich enthält das erste ausgegebene JSON-Dokument den
version
Schlüssel für die aktuelle Haupt- und Nebenversion desJSON-Trace-Formats:
{ "version": { "major": 1, "minor": 1 }}Die Mitglieder sind:
version
Gibt die Version des JSON-Formats an. Die Version enthält Amajor- und Minor-Komponenten, die semantischen Versionskonventionen folgen.
--trace-source=<file>
Versetzen Sie cmake in den Trace-Modus, geben Sie jedoch nur Zeilen einer bestimmten Datei aus.
Mehrere Optionen sind zulässig.
--trace-redirect=<file>
Setzen Sie cmake in den Trace-Modus und leiten Sie die Trace-Ausgabe in eine Datei anstelle von stderr um.
--warn-uninitialized
Warnt vor nicht initialisierten Werten.
Gibt eine Warnung aus, wenn eine nicht initialisierte Variable verwendet wird.
--warn-unused-vars
Tut nichts. In CMake-Versionen 3.2 und darunter wurden Warnungen über nicht verwendete Variablen aktiviert. In den CMake-Versionen 3.3 bis 3.18 war die Option broken.In CMake 3.19 und höher Die Option wurde entfernt.
--no-warn-unused-cli
Warnen Sie nicht vor Befehlszeilenoptionen.
Finden Sie keine Variablen, die in der Befehlszeile deklariert, aber nicht verwendet werden.
--check-system-vars
Finden Sie Probleme mit der Variablennutzung in Systemdateien.
Normalerweise werden unbenutzte und nicht initialisierte Variablen nur in CMAKE_SOURCE_DIR
und CMAKE_BINARY_DIR
gesucht.Dieses Flag weist CMake an, auch vor anderen Dateien zu warnen.
--profiling-output=<path>
Wird in Verbindung mit --profiling-format
verwendet, um in einen bestimmten Pfad auszugeben.
--profiling-format=<file>
Aktivieren Sie die Ausgabe von Profildaten des CMake-Skripts im angegebenen Format.
Dies kann die Leistungsanalyse von ausgeführten CMake-Skripten unterstützen. Drittanbieteranwendungen sollten verwendet werden, um die Ausgabe in ein für Menschen lesbares Format zu verarbeiten.
Derzeit unterstützte Werte sind:google-trace
Ausgaben im Google Trace-Format, die über die Registerkarte trace:tracing von Google Chrome oder mithilfe eines Plugins für ein Tool wie TraceCompass analysiert werden können.
--preset <preset>
--preset=<preset>
Liest eine preset
aus<path-to-source>/CMakePresets.json
und<path-to-source>/CMakeUserPresets.json
. Die Voreinstellung gibt den Generator und das Build-Verzeichnis sowie optional eine Liste von Variablen und anderen Argumenten an, die an CMake übergeben werden sollen. Das aktuelle Arbeitsverzeichnis muss enthaltenvorgabedateien erstellen. Die CMake GUI
können auch CMakePresets.json
und CMakeUserPresets.json
Dateien erkennen. Ausführliche Informationen zu diesen Dateien finden Sie unter cmake-presets(7)
.
Die Presets werden vor allen anderen Kommandozeilenoptionen gelesen. Die durch das Preset angegebenen Optionen (Variablen, Generator, etc.) können alle überschrieben werden, indem Sie sie manuell in der Befehlszeile angeben. Wenn die Voreinstellung beispielsweise eine Variable mit dem Namen MYVAR
auf 1
setzt, der Benutzer sie jedoch auf 2
mit einem-D
-Argument setzt, wird der Wert 2
bevorzugt wird.
--list-presets, --list-presets=<>
Listet die verfügbaren Presets auf. Wenn keine Option angegeben ist, werden nur configure presetswill aufgelistet. Das aktuelle Arbeitsverzeichnis muss CMake-Voreinstellungsdateien enthalten.
Leave a Reply