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}")