Подтвердить что ты не робот

Причина CMAKE для генерации ошибки

Как я могу заставить CMAKE генерировать ошибку при определенном условии. То есть, я хочу что-то вроде этого:

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

Ответ 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()