Comment puis-je obtenir CMAKE pour générer une erreur sur une condition particulière. Autrement dit, je veux quelque chose comme ça:
if( SOME_COND )
error( "You can't do that" )
endif()
Comment puis-je obtenir CMAKE pour générer une erreur sur une condition particulière. Autrement dit, je veux quelque chose comme ça:
if( SOME_COND )
error( "You can't do that" )
endif()
Réponses:
Le message()
procédé présente un argument facultatif pour le mode, ce qui permet STATUS
, WARNING
, AUTHOR_WARNING
, SEND_ERROR
, et FATAL_ERROR
. STATUS
les messages vont à stdout. Tous les autres modes de message, y compris aucun, vont à stderr.
Vous voulez SEND_ERROR
si vous souhaitez générer une erreur, mais continuer le traitement. Vous voulez FATAL_ERROR
si vous souhaitez quitter le traitement CMake.
Quelque chose comme:
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
, suggérant qu'il doit être utilisé pour le débogage des scripts CMake. Juste une supposition sauvage.
AUTHOR_WARNING
indique un avertissement qui n'est pas utile à l'utilisateur final mais aux développeurs. Il peut leur rappeler de corriger certains hack / todos ou indiquer des avertissements qui devraient être corrigés mais n'affectent pas l'exécution de CMake pour l'utilisateur. C'est pourquoi l'utilisateur peut supprimer ces avertissements avec --Wno-dev
.
message()
, y compris VERBOSE
, DEBUG
et TRACE
.
AUTHOR_WARNING
?