From 6a0dcaa1e8ea6f3e923f7db4789f67c9b14a2db8 Mon Sep 17 00:00:00 2001
From: Norihiro Watanabe <norihiro.watanabe@ufz.de>
Date: Fri, 14 Aug 2015 22:07:43 +0200
Subject: [PATCH] add STL_NO_DEBUG option in CMake

---
 CMakeLists.txt                    | 1 +
 scripts/cmake/CompilerSetup.cmake | 8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d7e76710c5..d7d41f69153 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,6 +73,7 @@ option(OGS_DISABLE_LOGGING "Disables all logog messages." OFF)
 
 # Compiler flags
 set(OGS_CXX_FLAGS "" CACHE STRING "Additional C++ compiler flags.")
+option(STL_NO_DEBUG "Disable STL debug in debug build" OFF)
 
 # Print CMake variable values
 if (OGS_CMAKE_DEBUG)
diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake
index 4b72f76fbe3..651c48e2315 100644
--- a/scripts/cmake/CompilerSetup.cmake
+++ b/scripts/cmake/CompilerSetup.cmake
@@ -40,7 +40,9 @@ if(COMPILER_IS_GCC)
 		endif()
 	else()
 		# Enable assertions in STL in debug mode.
-		set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_ASSERT -D_GLIBCXX_DEBUG_PEDASSERT -D_GLIBCXX_DEBUG_VERIFY")
+		if (NOT STL_NO_DEBUG)
+			set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_ASSERT -D_GLIBCXX_DEBUG_PEDASSERT -D_GLIBCXX_DEBUG_VERIFY")
+		endif()
 	endif()
 	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-deprecated -Wall -Wextra")
 endif() # COMPILER_IS_GCC
@@ -53,7 +55,9 @@ if(COMPILER_IS_CLANG)
 	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-c++98-compat-pedantic -march=native")
 	if(CMAKE_BUILD_TYPE STREQUAL "Debug")
 		# Enable assertions in STL in debug mode.
-		set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_ASSERT -D_GLIBCXX_DEBUG_PEDASSERT -D_GLIBCXX_DEBUG_VERIFY")
+		if (NOT STL_NO_DEBUG)
+			set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_ASSERT -D_GLIBCXX_DEBUG_PEDASSERT -D_GLIBCXX_DEBUG_VERIFY")
+		endif()
 	endif()
 endif() # COMPILER_IS_CLANG
 
-- 
GitLab