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