forked from OSchip/llvm-project
CMake: Renamed LLVM_ENABLE_ASSERTS to
LLVM_ENABLE_ASSERTIONS. Fine-tuned the logic that controls the definition of NDEBUG and _DEBUG macros. Thanks to Jay Foad for this suggestions. llvm-svn: 72864
This commit is contained in:
parent
7ff7621a1d
commit
208a87314b
|
@ -58,13 +58,22 @@ endif( MSVC )
|
|||
option(LLVM_ENABLE_THREADS "Use threads if available." ON)
|
||||
|
||||
if( uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
|
||||
option(LLVM_ENABLE_ASSERTS "Enable asserts" OFF)
|
||||
option(LLVM_ENABLE_ASSERTIONS "Enable assertions" OFF)
|
||||
else()
|
||||
option(LLVM_ENABLE_ASSERTS "Enable asserts" ON)
|
||||
option(LLVM_ENABLE_ASSERTIONS "Enable assertions" ON)
|
||||
endif()
|
||||
|
||||
if( LLVM_ENABLE_ASSERTS )
|
||||
add_definitions( -D_DEBUG -UNDEBUG )
|
||||
if( LLVM_ENABLE_ASSERTIONS )
|
||||
add_definitions( -D_DEBUG )
|
||||
# On Release builds cmake automatically defines NDEBUG, so we
|
||||
# explicitly undefine it:
|
||||
if( uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
|
||||
add_definitions( -UNDEBUG )
|
||||
endif()
|
||||
else()
|
||||
if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
|
||||
add_definitions( -DNDEBUG )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if( LLVM_TARGETS_TO_BUILD STREQUAL "all" )
|
||||
|
|
|
@ -248,8 +248,8 @@
|
|||
<dt><b>LLVM_ENABLE_THREADS</b>:BOOL</dt>
|
||||
<dd>Build with threads support, if available. Defaults to ON.</dd>
|
||||
|
||||
<dt><b>LLVM_ENABLE_ASSERTS</b>:BOOL</dt>
|
||||
<dd>Enables code asserts. Defaults to ON if and only if
|
||||
<dt><b>LLVM_ENABLE_ASSERTIONS</b>:BOOL</dt>
|
||||
<dd>Enables code assertions. Defaults to ON if and only if
|
||||
CMAKE_BUILD_TYPE is <i>Release</i>.</dd>
|
||||
|
||||
<dt><b>LLVM_ENABLE_PIC</b>:BOOL</dt>
|
||||
|
|
Loading…
Reference in New Issue