fix c++17 building on windows
diff --git a/build/cmake/DefineCMakeDefaults.cmake b/build/cmake/DefineCMakeDefaults.cmake
index 6714357..2b0cdbb 100644
--- a/build/cmake/DefineCMakeDefaults.cmake
+++ b/build/cmake/DefineCMakeDefaults.cmake
@@ -79,3 +79,14 @@
if (NOT DEFINED CMAKE_CXX_EXTENSIONS)
set(CMAKE_CXX_EXTENSIONS OFF) # use standards compliant language level for portability
endif()
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ include(CheckCXXCompilerFlag)
+ set(CMAKE_REQUIRED_QUIET ON)
+ check_cxx_compiler_flag("/Zc:__cplusplus" res_var)
+ if (res_var)
+ # Make MSVC reporting correct value for __cplusplus
+ # See https://blogs.msdn.microsoft.com/vcblog/2018/04/09/msvc-now-correctly-reports-__cplusplus/
+ add_compile_options("/Zc:__cplusplus")
+ endif()
+endif()