Як я можу отримати 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?