diff --git a/CMakeLists.txt b/CMakeLists.txt index c7dfe622e..2dc67511c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,10 +33,13 @@ set(CMAKE_CXX_STANDARD 17) if(MSVC) message(STATUS "MSVC version ${MSVC_VERSION}") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2 /EHsc") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /O2 /EHsc") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /EHa") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Od /Zi /EHa") + if(MSVC_VERSION LESS 1937) + message(FATAL_ERROR "MSVC version 17.7 or higher is required to compile") + endif() + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /std:c++latest /O2 /EHsc") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /std:clatest /O2 /EHsc") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /std:c++latest /Od /Zi /EHa") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /std:clatest /Od /Zi /EHa") else() if (true) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -fno-exceptions")