Browse Source

Merge PR #1472: Enable Control flow guard and Qspectre protection for windows binaries

Davide Beatrici 4 years ago
parent
commit
224abd99b8
1 changed files with 12 additions and 0 deletions
  1. 12 0
      src/CMakeLists.txt

+ 12 - 0
src/CMakeLists.txt

@@ -60,6 +60,18 @@ include_directories(.)
 
 if(WIN32)
   add_definitions(-DWIN32 -D_WINDOWS -DOS_WIN32 -D_CRT_SECURE_NO_WARNINGS)
+
+  #
+  # https://msrc-blog.microsoft.com/2020/08/17/control-flow-guard-for-clang-llvm-and-rust/
+  #
+
+  message("Setting CONTROL FLOW GUARD") 
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /guard:cf")
+  set(CMAKE_EXE_LINKER_FLAGS  "/guard:cf /DYNAMICBASE")
+
+  message("Setting QSPECTRE")
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Qspectre")
+
 endif()
 
 if(UNIX)