Messages généraux¶
message( "message text" ...)
Enregistre le texte du message spécifié dans le journal. Si plus d’une chaîne de messages est donnée, elles sont concaténées en un seul message avec un nez séparateur entre les chaînes.
Le mot-clé optionnel <mode>
détermine le type de message, quiinfluence la façon dont le message est traité:
FATAL_ERROR
CMake Error, arrête le traitement et la génération.
SEND_ERROR
ErreurCMake, continuer le traitement, mais sauter la génération.
WARNING
AvertissementCMake, continuer le traitement.
AUTHOR_WARNING
AvertissementCMake (dev), continuer le traitement.
DEPRECATION
Erreur de dépréciation ou avertissement deCMake si la variableCMAKE_ERROR_DEPRECATED
ou CMAKE_WARN_DEPRECATED
est activée, respectivement, sinon aucun message.
(aucun) ou NOTICE
Message important imprimé sur stderr pour attirer l’attention de l’utilisateur.
STATUS
Les principaux messages intéressants qui pourraient intéresser les utilisateurs du projet.Idéalement, ils devraient être concis, pas plus d’une ligne, mais tout de même informatifs.
VERBOSE
Messages informatifs détaillés destinés aux utilisateurs du projet. Ces messages doivent fournir des détails supplémentaires qui ne seront pas d’intérêt dans la plupart des cas, mais qui peuvent être utiles à ceux qui construisent le projet quand ils veulent une vision plus profonde de ce qui se passe.
DEBUG
Messages d’information détaillés destinés aux développeurs travaillant sur le projet lui-même par opposition aux utilisateurs qui veulent juste le construire. Ces messages ne seront généralement pas d’intérêt pour les autres utilisateurs qui construisent le projet et seront souvent étroitement liés à des détails d’implémentation internes.
TRACE
Messages à grain fin avec des détails d’implémentation de très bas niveau. Les messages utilisant ce niveau de journal ne seraient normalement que temporaires et s’attendraient à être supprimés avant de libérer le projet, d’empaqueter les fichiers, etc.
Nouveau dans la version 3.15 : Ajout des niveaux NOTICE
, VERBOSE
, DEBUG
et TRACE
.
L’outil de ligne de commande CMake affiche les messages STATUS
à TRACE
sur stdoutavec le message précédé de deux tirets et d’un espace. Tous les autres types de messagessont envoyés sur stderr et ne sont pas préfixés par des traits d’union. Le CMake GUI
affiche tous les messages dans sa zone de journal.Le curses interface
affiche les messages STATUS
à TRACE
un par un sur une ligne d’état et les autres messages dans une boîte pop-up interactive. L’option de ligne de commande --log-level
de chacun de ces outils peut être utilisée pour contrôler quels messages seront affichés.
Nouveau dans la version 3.17 : Pour qu’un niveau de journal persiste entre les exécutions de CMake, la variableCMAKE_MESSAGE_LOG_LEVEL
peut être définie à la place.Notez que l’option de la ligne de commande est prioritaire sur la variable cache.
Nouveau dans la version 3.16 : Les messages des niveaux de journal NOTICE
et inférieurs auront chaque ligne précédée du contenu de la variable CMAKE_MESSAGE_INDENT
(convertie en une seule chaîne de caractères en concaténant ses éléments de liste). Pour les messages STATUS
à TRACE
, ce contenu en retrait sera inséré après les tirets.
Nouveau dans la version 3.17 : Les messages des niveaux de journal NOTICE
et inférieurs peuvent également avoir chaque ligne précédée d’un contexte de la forme . Le contenu entre les crochets est obtenu en convertissant la variable
CMAKE_MESSAGE_CONTEXT
list en une chaîne séparée par des points. Le contexte du message apparaîtra toujours avant le contenu de l’indentation, mais après les traits d’union de tête ajoutés automatiquement. Par défaut, le contexte de message n’est pas affiché, il doit être explicitement activé en donnant l’option cmake
--log-context
ligne de commande ou en définissant la variable CMAKE_MESSAGE_CONTEXT_SHOW
variable à true. Voir la CMAKE_MESSAGE_CONTEXT
documentation pour des exemples d’utilisation.
Le texte des messages d’avertissement et d’erreur deCMake s’affiche en utilisant un langage de balisage simple. Le texte non indenté est formaté en paragraphes entourés de lignes et délimités par des nouvelles lignes. Le texte en retrait est considéré comme préformaté.