aboutsummaryrefslogtreecommitdiff
path: root/cmake/compiler/msvc/settings.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/compiler/msvc/settings.cmake')
-rw-r--r--cmake/compiler/msvc/settings.cmake12
1 files changed, 9 insertions, 3 deletions
diff --git a/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake
index 0aa5d93a4b3..d758d466407 100644
--- a/cmake/compiler/msvc/settings.cmake
+++ b/cmake/compiler/msvc/settings.cmake
@@ -51,6 +51,12 @@ if(NOT WITH_WARNINGS)
endif()
endif()
-# Specify Precompiled Header Memory Allocation Limit
-# (Fix a compiler-problem when using PCH - the /Ym flag is adjusted by the compiler in MSVC2012, hence we need to set an upper limit to avoid disrupancies)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zm500")
+# Specify the maximum PreCompiled Header memory allocation limit
+# Fixes a compiler-problem when using PCH - the /Ym flag is adjusted by the compiler in MSVC2012, hence we need to set an upper limit with /Zm to avoid disrupancies)
+# (And yes, this is a verified , unresolved bug with MSVC... *sigh*)
+string(REPLACE "/Zm1000" "/Zm500" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+
+# Enable and treat as errors the following warnings to easily detect virtual function signature failures:
+# 'function' : member function does not override any base class virtual member function
+# 'virtual_function' : no override available for virtual member function from base 'class'; function is hidden
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /we4263 /we4264")