【发布时间】:2011-07-21 04:35:51
【问题描述】:
如何让 CMAKE 在特定条件下生成错误。也就是说,我想要这样的东西:
if( SOME_COND )
error( "You can't do that" )
endif()
【问题讨论】:
标签: cmake
如何让 CMAKE 在特定条件下生成错误。也就是说,我想要这样的东西:
if( SOME_COND )
error( "You can't do that" )
endif()
【问题讨论】:
标签: cmake
message() 方法具有模式的可选参数,允许 STATUS、WARNING、AUTHOR_WARNING、SEND_ERROR 和 FATAL_ERROR。 STATUS 消息转到标准输出。其他所有消息模式(包括无消息模式)都进入 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()
【讨论】:
AUTHOR_WARNING 到底是什么?
AUTHOR_WARNING = CMake Warning (dev), continue processing,表明它用于调试 CMake 脚本。只是一个疯狂的猜测。
AUTHOR_WARNING 表示对最终用户无用但对开发人员有用的警告。它可以提醒他们修复一些黑客/待办事项或指示应该修复但不影响用户运行 CMake 的警告。这就是为什么用户可以使用--Wno-dev 禁止这些警告。
message() 的消息模式,包括 VERBOSE、DEBUG 和 TRACE。