From 69c28b75dfb0a3edefa4d4a8616624f856b15533 Mon Sep 17 00:00:00 2001 From: Philip Kelley Date: Wed, 6 Mar 2013 13:22:50 -0500 Subject: [PATCH] MSVC: Define NDEBUG to disable asserts in release builds --- CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 615a1a5ea..5a0043f95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -148,18 +148,19 @@ IF (MSVC) # /RTC1 - Run time checks SET(CMAKE_C_FLAGS_DEBUG "/Zi /Od /D_DEBUG /MTd /RTC1") + # /DNDEBUG - Disables asserts # /MT - Statically link the multithreaded release version of the CRT # /O2 - Optimize for speed # /Oy - Enable frame pointer omission (FPO) (otherwise CMake will automatically turn it off) # /GL - Link time code generation (whole program optimization) # /Gy - Function-level linking - SET(CMAKE_C_FLAGS_RELEASE "/MT /O2 /Oy /GL /Gy") + SET(CMAKE_C_FLAGS_RELEASE "/DNDEBUG /MT /O2 /Oy /GL /Gy") # /Oy- - Disable frame pointer omission (FPO) - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/Zi /MT /O2 /Oy- /GL /Gy") + SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/DNDEBUG /Zi /MT /O2 /Oy- /GL /Gy") # /O1 - Optimize for size - SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O1 /Oy /GL /Gy") + SET(CMAKE_C_FLAGS_MINSIZEREL "/DNDEBUG /MT /O1 /Oy /GL /Gy") # /DYNAMICBASE - Address space load randomization (ASLR) # /NXCOMPAT - Data execution prevention (DEP)