From 36ecea458a5625df0e07dc4f6fb1c1280d348b3a Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Sun, 25 Oct 2020 14:53:44 -0700 Subject: [PATCH] Clear /W3 on MSVC since we use /W4 --- CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5facfd2b..4ae87cbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -210,6 +210,13 @@ if(MSVC) set(C_FLAGS ${C_FLAGS} $<$:/permissive->) endif() set(C_FLAGS ${C_FLAGS} /W4 /w14640 /wd4065 /wd4268 /wd4324 /wd5030) + # Remove /W3, which is added by default, since we set /W4. Some versions of + # MSVC complain about both /W3 and /W4 being specified. + foreach(flag_var CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + if(${flag_var} MATCHES "-DNDEBUG") + string(REGEX REPLACE "/W3" "" ${flag_var} "${${flag_var}}") + endif() + endforeach() if(NOT DXSDK_DIR) string(REGEX REPLACE "\\\\" "/" DXSDK_DIR "$ENV{DXSDK_DIR}")