Cause CMAKE to generate an error

Cmake

Cmake Problem Overview


How can I get CMAKE to generate an error on a particular condition. That is, I want something like this:

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

Cmake Solutions


Solution 1 - Cmake

The message() method has an optional argument for the mode, allowing STATUS, WARNING, AUTHOR_WARNING, SEND_ERROR, and FATAL_ERROR. STATUS messages go to stdout. Every other mode of message, including none, goes to stderr.

You want SEND_ERROR if you want to output an error, but continue processing. You want FATAL_ERROR if you want to exit CMake processing.

Something like:

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()

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionedA-qa mort-ora-yView Question on Stackoverflow
Solution 1 - CmakeAndréView Answer on Stackoverflow