Ответ 1
Метод message()
имеет необязательный аргумент для режима, позволяющий использовать STATUS
, WARNING
, AUTHOR_WARNING
, SEND_ERROR
и FATAL_ERROR
. STATUS
сообщения отправляются на стандартный вывод. Любой другой способ сообщения, включая ни одного, отправляется в 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()