1. ホーム
  2. cmake

[解決済み] CMAKEがエラーを発生させる原因

2022-04-26 07:34:22

質問

CMAKEに特定の条件でエラーを発生させるにはどうしたらよいですか。 つまり、次のようなものが欲しいのです。

if( SOME_COND )
  error( "You can't do that" )
endif()

解決方法は?

その message() メソッドにはオプションの引数としてモードがあり、これにより STATUS , WARNING , AUTHOR_WARNING , SEND_ERROR および FATAL_ERROR . STATUS メッセージは標準出力に送られます。それ以外のメッセージは、何もない場合も含めて、標準エラー出力に送られます。

あなたが欲しいのは SEND_ERROR は、エラーを出力しながらも処理を続けたい場合です。 その場合は FATAL_ERROR CMake の処理を終了させたい場合。

のようなものです。

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()