Mensajes generales¶
message( "message text" ...)
Registra el texto del mensaje especificado en el registro. Si se da más de una cadena de mensaje, se concatenan en un solo mensaje con separador de nariz entre las cadenas.
La palabra clave opcional <mode>
determina el tipo de mensaje, que influye en la forma en que se maneja el mensaje:
FATAL_ERROR
CMake Error, deja de procesar y generar.
SEND_ERROR
CMake Error, continúa el procesamiento, pero omite la generación.
WARNING
CMake Warning, continúa el procesamiento.
AUTHOR_WARNING
CMake Warning (dev), continúa el procesamiento.
DEPRECATION
CMake Deprecation Error o Warning si la variableCMAKE_ERROR_DEPRECATED
o CMAKE_WARN_DEPRECATED
está habilitada, respectivamente, de lo contrario no hay mensaje.
(ninguno) o NOTICE
Mensaje importante impreso en stderr para llamar la atención del usuario.
STATUS
Los principales mensajes interesantes que pueden interesar a los usuarios del proyecto.Idealmente deben ser concisos, no más de una línea, pero aún así informativos.
VERBOSE
Mensajes informativos detallados destinados a los usuarios del proyecto. Estos mensajes deben proporcionar detalles adicionales que no serán de interés en la mayoría de los casos, pero que pueden ser útiles para aquellos que construyen el proyecto cuando quieren una visión más profunda de lo que está sucediendo.
DEBUG
Mensajes informativos detallados destinados a los desarrolladores que trabajan en el proyecto en sí, en contraposición a los usuarios que sólo quieren construirlo. Estos mensajes no suelen ser de interés para otros usuarios que construyen el proyecto y suelen estar estrechamente relacionados con detalles de implementación interna.
TRACE
Mensajes de grano fino con detalles de implementación de muy bajo nivel. Los mensajes que utilizan este nivel de registro normalmente sólo son temporales y se espera que se eliminen antes de liberar el proyecto, empaquetar los archivos, etc.
Nuevo en la versión 3.15: Se han añadido los niveles NOTICE
, VERBOSE
, DEBUG
y TRACE
.
La herramienta de línea de comandos CMake muestra los mensajes STATUS
a TRACE
en stdout con el mensaje precedido por dos guiones y un espacio. Todos los demás tipos de mensajes se envían a stderr y no van precedidos de guiones. El CMake GUI
muestra todos los mensajes en su área de registro.El curses interface
muestra STATUS
a TRACE
mensajes de uno en uno en una línea de estado y otros mensajes en un cuadro emergenteinteractivo. La opción de línea de comandos --log-level
para cada una de estas herramientas se puede utilizar para controlar qué mensajes se mostrarán.
Nuevo en la versión 3.17: Para hacer un nivel de registro persisten entre CMake se ejecuta, la variableCMAKE_MESSAGE_LOG_LEVEL
se puede establecer en su lugar.Tenga en cuenta que la opción de la línea de comandos tiene prioridad sobre la variable de caché.
Nuevo en la versión 3.16: Los mensajes de los niveles de registro NOTICE
e inferiores tendrán cada línea precedida por el contenido de la variable CMAKE_MESSAGE_INDENT
(convertida a una sola cadena concatenando sus elementos de la lista). Para los mensajes de STATUS
a TRACE
, este contenido de sangría se insertará después de los guiones.
Nuevo en la versión 3.17: Los mensajes de los niveles de registro NOTICE
e inferiores también pueden tener cada línea precedida por un contexto de la forma . El contenido entre los corchetes se obtiene convirtiendo la variable
CMAKE_MESSAGE_CONTEXT
lista en una cadena separada por puntos. El contexto del mensaje siempre aparecerá antes de cualquier contenido con sangría, pero después de cualquier guión añadido automáticamente. Por defecto, el contexto del mensaje no se muestra, tiene que ser explícitamente habilitado dando la opción cmake
--log-context
de la línea de comandos o estableciendo la variable CMAKE_MESSAGE_CONTEXT_SHOW
a true. Consulte la documentación CMAKE_MESSAGE_CONTEXT
para ver ejemplos de uso.
El texto de los mensajes de advertencia y error de CMake se muestra utilizando un lenguaje de marcas simple. El texto sin sangría se formatea en párrafos envueltos en líneas delimitados por nuevas líneas. El texto con sangría se considera preformateado.