[CMAKE] Disable EH4 for x64 and VS versions 16.3+
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 23 Nov 2019 16:37:59 +0000 (17:37 +0100)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Sun, 24 Nov 2019 08:26:59 +0000 (09:26 +0100)
This fixes x64 build with latest VS 2019
See https://developercommunity.visualstudio.com/content/problem/746534/visual-c-163-runtime-uses-an-unsupported-api-for-u.html

sdk/cmake/msvc.cmake

index 419984b..472275a 100644 (file)
@@ -64,6 +64,13 @@ if(MSVC_VERSION GREATER 1899)
     add_compile_flags("/Zc:threadSafeInit-")
 endif ()
 
+# HACK: Disable use of __CxxFrameHandler4 on VS 16.3+ (x64 only)
+# See https://developercommunity.visualstudio.com/content/problem/746534/visual-c-163-runtime-uses-an-unsupported-api-for-u.html
+if(ARCH STREQUAL "amd64" AND MSVC_VERSION GREATER 1922)
+    add_compile_flags("/d2FH4-")
+    add_link_options("/d2:-FH4-")
+endif ()
+
 # Generate Warnings Level 3
 add_compile_flags("/W3")