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. STATUSles messages vont à stdout. Tous les autres modes de message, y compris aucun, vont à stderr.
Vous voulez SEND_ERRORsi vous souhaitez générer une erreur, mais continuer le traitement. Vous voulez FATAL_ERRORsi 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_WARNINGindique 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, DEBUGet TRACE.
AUTHOR_WARNING?