message¶

Allgemeine Nachrichten¶

message( "message text" ...)

Der angegebene Nachrichtentext wird im Log aufgezeichnet. Wenn mehr als ein Nachrichtentext angegeben wird, werden sie zu einer einzigen Nachricht mit einem Trennzeichen zwischen den Strings verkettet.

Das optionale Schlüsselwort <mode> bestimmt den Typ der Nachricht, der die Art der Behandlung der Nachricht beeinflusst:

FATAL_ERROR

CMake Error, stop processing and generation.

SEND_ERROR

CMake Error, Verarbeitung fortsetzen, aber Generierung überspringen.

WARNING

CMake Warning, Verarbeitung fortsetzen.

AUTHOR_WARNING

CMake Warning (dev), Verarbeitung fortsetzen.

DEPRECATION

CMake Deprecation Error oder Warning, wenn VariableCMAKE_ERROR_DEPRECATED bzw. CMAKE_WARN_DEPRECATED aktiviert ist, sonst keine Meldung.

(keine) oder NOTICE

Wichtige Meldung auf stderr ausgegeben, um die Aufmerksamkeit des Benutzers zu erregen.

STATUS

Die wichtigsten Meldungen, die für die Projektbenutzer von Interesse sein könnten. Idealerweise sollten sie kurz sein, nicht mehr als eine Zeile, aber dennoch informativ.

VERBOSE

Detaillierte Informationsmeldungen für die Projektbenutzer. Diese Nachrichten sollten zusätzliche Details enthalten, die in den meisten Fällen nicht von Interesse sind, die aber für diejenigen, die das Projekt bauen, nützlich sein können, wenn sie einen tieferen Einblick in das Geschehen haben wollen.

DEBUG

Detaillierte Informationsnachrichten, die für Entwickler gedacht sind, die an dem Projekt selbst arbeiten, im Gegensatz zu Benutzern, die es nur bauen wollen. Diese Meldungen sind in der Regel für andere Benutzer, die das Projekt erstellen, nicht von Interesse und stehen oft in engem Zusammenhang mit internen Implementierungsdetails.

TRACE

Feinkörnige Meldungen mit sehr kleinen Implementierungsdetails. Nachrichten, die diesen Log-Level verwenden, sind normalerweise nur temporär und sollten vor der Freigabe des Projekts, dem Packen der Dateien usw. entfernt werden.

Neu in Version 3.15: Die Level NOTICE, VERBOSE, DEBUG und TRACE wurden hinzugefügt.

Das CMake Kommandozeilen-Tool zeigt STATUS bis TRACE Nachrichten auf stdout an, wobei der Nachricht zwei Bindestriche und ein Leerzeichen vorangestellt werden. Alle anderen Nachrichtentypen werden an stderr gesendet und erhalten keine Bindestriche vorangestellt. Der CMake GUI zeigt alle Meldungen in seinem Protokollbereich an, der curses interface zeigt STATUS bis TRACE Meldungen einzeln in einer Statuszeile und andere Meldungen in einem interaktiven Popup-Feld an. Die --log-level Kommandozeilenoption für jedes dieser Werkzeuge kann verwendet werden, um zu steuern, welche Meldungen angezeigt werden.

Neu in Version 3.17: Um einen Log-Level zwischen CMake-Läufen zu erhalten, kann stattdessen dieCMAKE_MESSAGE_LOG_LEVEL-Variable gesetzt werden.Beachten Sie, dass die Kommandozeilenoption Vorrang vor der Cache-Variable hat.

Neu in Version 3.16: Bei Meldungen der Log-Level NOTICE und darunter wird jeder Zeile der Inhalt der CMAKE_MESSAGE_INDENT-Variable vorangestellt (durch Verkettung der Listenelemente in einen einzigen String umgewandelt). Bei STATUS bis TRACEMeldungen wird dieser Einrückungsinhalt nach den Bindestrichen eingefügt.

Neu in Version 3.17: Meldungen der Protokollstufen NOTICE und darunter kann jeder Zeile auch ein Kontext der Form vorangestellt werden. Der Inhalt zwischen den eckigen Klammern wird durch Konvertierung der CMAKE_MESSAGE_CONTEXTListenvariablen in eine durch Punkte getrennte Zeichenkette erhalten. Der Nachrichtenkontext erscheint immer vor dem Inhalt des Einzugs, aber nach den automatisch hinzugefügten führenden Bindestrichen. Standardmäßig wird der Nachrichtenkontext nicht angezeigt, er muss explizit mit der cmake --log-contextKommandozeilenoption oder durch Setzen der CMAKE_MESSAGE_CONTEXT_SHOWVariablen auf true aktiviert werden. Siehe die CMAKE_MESSAGE_CONTEXTDokumentation für Verwendungsbeispiele.

CMake Warn- und Fehlermeldungstext wird mit einer einfachen Auszeichnungssprache angezeigt. Nicht eingerückter Text wird in zeilenumflochtenen Absätzen formatiert, die durch Zeilenumbrüche getrennt sind. Eingerückter Text wird als vorformatiert betrachtet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.