Как я могу заставить 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сообщения отправляются на стандартный вывод. Любой другой способ сообщения, включая ни одного, отправляется в 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, предполагающее, что оно должно использоваться для отладки сценариев CMake. Просто дикая догадка.
AUTHOR_WARNINGобозначает предупреждение, которое не полезно для конечного пользователя, но для разработчиков. Он может либо напомнить им исправить некоторые взломы / задачи, либо указать предупреждения, которые должны быть исправлены, но не влияют на запуск CMake для пользователя. Вот почему пользователь может подавить эти предупреждения с помощью --Wno-dev.
message(), в том числе VERBOSE, DEBUGи TRACE.
AUTHOR_WARNING?