Jak sprawić, by CMAKE wygenerował błąd w określonym stanie. To znaczy, chcę coś takiego:
if( SOME_COND )
error( "You can't do that" )
endif()
Jak sprawić, by CMAKE wygenerował błąd w określonym stanie. To znaczy, chcę coś takiego:
if( SOME_COND )
error( "You can't do that" )
endif()
Odpowiedzi:
message()
Sposób ten ma opcjonalny argument dla trybu, co pozwala STATUS
, WARNING
, AUTHOR_WARNING
, SEND_ERROR
i FATAL_ERROR
. STATUS
wiadomości trafiają na stdout. Każdy inny tryb wiadomości, w tym żaden, jest kierowany na stderr.
Chcesz, SEND_ERROR
jeśli chcesz wyprowadzić błąd, ale kontynuuj przetwarzanie. Chcesz, FATAL_ERROR
jeśli chcesz zakończyć przetwarzanie CMake.
Coś jak:
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
, sugerujący, że ma być używany do debugowania skryptów CMake. Tylko szalone przypuszczenie.
AUTHOR_WARNING
wskazuje ostrzeżenie, które nie jest przydatne dla użytkownika końcowego, ale dla programistów. Może przypominać im o naprawieniu niektórych hack / todos lub wskazywać ostrzeżenia, które powinny zostać naprawione, ale nie mają wpływu na działanie CMake dla użytkownika. Dlatego użytkownik może wyłączyć te ostrzeżenia za pomocą --Wno-dev
.
message()
, w tym VERBOSE
, DEBUG
i TRACE
.
AUTHOR_WARNING
?