Tweak the cmake interaction between CMAKE_BUILD_TYPE and LLVM_ENABLE_ASSERTIONS.
authorDuncan Sands <baldrick@free.fr>
Wed, 17 Jul 2013 09:34:51 +0000 (09:34 +0000)
committerDuncan Sands <baldrick@free.fr>
Wed, 17 Jul 2013 09:34:51 +0000 (09:34 +0000)
commita009d53c4d97e4b9ffe17cb2f6442a40e7407ac8
treeb3031c6ddd9a75493d66adecdb1d55633ed46f4e
parent77c95b6b95d14202efb6f4c40a2a2280c3d93ae2
Tweak the cmake interaction between CMAKE_BUILD_TYPE and LLVM_ENABLE_ASSERTIONS.
The issue is that CMAKE_BUILD_TYPE=RelWithDebInfo LLVM_ENABLE_ASSERTIONS=ON was
not building with assertions enabled.  (I was unable to find what in the LLVM
source tree was adding -DNDEBUG to the build line in this case, so decided that
it must be cmake itself that was adding it - this may depend on the cmake
version).  The fix treats any mode that is not Debug as being the same as
Release for this purpose (previously it was being assumed that cmake would only
add -DNDEBUG for Release and not for RelWithDebInfo or MinSizeRel).  If other
versions of cmake don't add -DNDEBUG for RelWithDebInfo then that's OK: with
this change you just get a useless but harmless -UNDEBUG or -DNDEBUG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186499 91177308-0d34-0410-b5e6-96231b3b80d8
CMakeLists.txt
cmake/modules/HandleLLVMOptions.cmake