From 11fde67edc45134e40de14ba28fa9c40937c8ab8 Mon Sep 17 00:00:00 2001
From: Leonid Yuriev <leo@yuriev.ru>
Date: Tue, 17 Nov 2020 13:59:29 +0300
Subject: [PATCH] mdbx-cmake: crutch for MSVC 19.28 (Visual Studio 16.8).

Change-Id: I8fdb665d103031dc5e0c4b7963bc5eb65853a82f
---
 CMakeLists.txt | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc0461d7..d41686bf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -340,10 +340,12 @@ if(NOT DEFINED MDBX_CXX_STANDARD)
     set(MDBX_CXX_STANDARD 98)
   endif()
 endif()
-if(NOT HAS_C11 LESS 0)
-  set(MDBX_C_STANDARD 11)
-else()
+# MSVC >= 19.28 (Microsoft Visual Studio 16.8) is mad!
+#               It unable process Windows SDK headers in the C11 mode!
+if(HAS_C11 LESS 0 OR (MSVC AND MSVC_VERSION GREATER 1927))
   set(MDBX_C_STANDARD 99)
+else()
+  set(MDBX_C_STANDARD 11)
 endif()
 
 if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND EXISTS "${MDBX_SOURCE_DIR}/ntdll.def")