Как я могу заставить CMAKE генерировать ошибку при определенном условии. То есть, я хочу что-то вроде этого:
if( SOME_COND )
error( "You can't do that" )
endif()
Ответ 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()