¿Cómo puedo hacer que CMAKE genere un error en una condición particular? Es decir, quiero algo como esto:
if( SOME_COND )
error( "You can't do that" )
endif()
¿Cómo puedo hacer que CMAKE genere un error en una condición particular? Es decir, quiero algo como esto:
if( SOME_COND )
error( "You can't do that" )
endif()
Respuestas:
El message()
método tiene un argumento opcional para el modo, lo que permite STATUS
, WARNING
, AUTHOR_WARNING
, SEND_ERROR
, y FATAL_ERROR
. STATUS
los mensajes van a stdout. Cualquier otro modo de mensaje, incluido ninguno, va a stderr.
Desea SEND_ERROR
si desea generar un error, pero continúe procesando. Desea FATAL_ERROR
si desea salir del procesamiento de CMake.
Algo como:
if( SOME_COND )
message( SEND_ERROR "You can't do that" )
elseif( SOME_CRITICAL_COND )
message( FATAL_ERROR "You can not do this at all, CMake will exit." )
endif()
AUTHOR_WARNING = CMake Warning (dev), continue processing
, lo que sugiere que debe usarse para depurar scripts de CMake. Solo una suposición salvaje.
AUTHOR_WARNING
indica una advertencia que no es útil para el usuario final sino para los desarrolladores. Puede recordarles que arreglen algunos hack / todos o indicar advertencias que deberían repararse 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
.
message()
, entre ellos VERBOSE
, DEBUG
y TRACE
.
AUTHOR_WARNING
?