web-dev-qa-db-ja.com

CMAKEにエラーを生成させる

特定の条件でCMAKEにエラーを生成させるにはどうすればよいですか。つまり、次のようなものが必要です。

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

message() メソッドにはモードのオプションの引数があり、STATUS、WARNING、AUTHOR_WARNING、SEND_ERROR、およびFATAL_ERRORを許可します。 STATUSメッセージは標準出力に送られます。 noneを含むメッセージの他のすべてのモードは、stderrに送られます。

エラーを出力したいが処理を続行する場合は、SEND_ERRORが必要です。 CMake処理を終了する場合は、FATAL_ERRORが必要です。

何かのようなもの:

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()
168
André