2011-03-23 11 views

Respuesta

135

El método message() tiene un argumento opcional para el tipo, permitiendo estado, de advertencia, AUTHOR_WARNING, SEND_ERROR y FATAL_ERROR.

Desea SEND_ERROR si desea generar un error, pero continúe el proceso. Desea FATAL_ERROR si desea salir del procesamiento de CMake.

Algo así como:

if(SOME_COND) 
    message(SEND_ERROR "You can't do that") 
elsif(SOME_CRITICAL_COND) 
    message(FATAL_ERROR "You can not do this at all, CMake will exit.") 
endif() 
+1

¿Qué diablos es un 'AUTHOR_WARNING'? –

+1

@AlexisWilke: los documentos de CMake indican 'AUTHOR_WARNING = CMake Warning (dev), continue processing', sugiriendo que se usará para depurar scripts de CMake. Solo una conjetura salvaje. – pauluss86

+4

@AlexisWilke El 'AUTHOR_WARNING' indica una advertencia que no es útil para el usuario final sino para los desarrolladores. Puede recordarles que corrijan algunos hack/todos o que indiquen advertencias que deberían ser corregidas pero que no afectan la ejecución de CMake para el usuario. Es por eso que el usuario puede suprimir estas advertencias con '--Wno-dev'. – usr1234567

Cuestiones relacionadas