特定の条件でCMAKEにエラーを生成させるにはどうすればよいですか。つまり、次のようなものが必要です。
if( SOME_COND )
error( "You can't do that" )
endif()
特定の条件でCMAKEにエラーを生成させるにはどうすればよいですか。つまり、次のようなものが必要です。
if( SOME_COND )
error( "You can't do that" )
endif()
回答:
message()
この方法は、モードのためのオプションの引数を持っている可能STATUS
、WARNING
、AUTHOR_WARNING
、SEND_ERROR
、およびFATAL_ERROR
。STATUS
メッセージはstdoutに送られます。メッセージを含まない他のすべてのモードは、stderrに送られます。
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()
AUTHOR_WARNING = CMake Warning (dev), continue processing
スクリプトのデバッグに使用することを示唆しています。単なるワイルドな推測です。
AUTHOR_WARNING
は、エンドユーザーではなく開発者にとって有用ではない警告を示します。いくつかのハック/タスクを修正するように通知するか、修正する必要があるがユーザーのCMakeの実行に影響しない警告を示すことができます。そのため、ユーザーはこれらの警告をで抑制できます--Wno-dev
。
AUTHOR_WARNING
ですか?