Come posso ottenere CMAKE per generare un errore su una condizione particolare. Cioè, voglio qualcosa del genere:
if( SOME_COND )
error( "You can't do that" )
endif()
Come posso ottenere CMAKE per generare un errore su una condizione particolare. Cioè, voglio qualcosa del genere:
if( SOME_COND )
error( "You can't do that" )
endif()
Risposte:
Il message()
metodo ha un argomento facoltativo per la modalità, permettendo STATUS
, WARNING
, AUTHOR_WARNING
, SEND_ERROR
, e FATAL_ERROR
. STATUS
i messaggi vanno a stdout. Ogni altra modalità di messaggio, inclusa nessuna, passa a stderr.
Si desidera SEND_ERROR
se si desidera generare un errore, ma continuare l'elaborazione. Si desidera FATAL_ERROR
se si desidera chiudere l'elaborazione CMake.
Qualcosa di simile a:
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
, suggerendo che deve essere utilizzato per il debug degli script CMake. Solo un'ipotesi selvaggia.
AUTHOR_WARNING
Indica un avviso non utile all'utente finale ma agli sviluppatori. Può ricordare loro di correggere alcuni hack / todos o indicare avvisi che dovrebbero essere corretti ma non influiscono sull'esecuzione di CMake per l'utente. Ecco perché l'utente può eliminare questi avvisi con --Wno-dev
.
message()
, tra cui VERBOSE
, DEBUG
, e TRACE
.
AUTHOR_WARNING
?