CMake: add new option CAPSTONE_BUILD_STATIC_RUNTIME
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ba74b0..b1cf546 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,6 +7,7 @@
 
 # to configure the options specify them in in the command line or change them in the cmake UI.
 # Don't edit the makefile!
+option(CAPSTONE_BUILD_STATIC_RUNTIME "Embed static runtime" OFF)
 option(CAPSTONE_BUILD_STATIC "Build static library" ON)
 option(CAPSTONE_BUILD_SHARED "Build shared library" ON)
 option(CAPSTONE_BUILD_DIET "Build diet library" OFF)
@@ -169,6 +170,18 @@
     set(default-target capstone-static)
 endif ()
 
+# Force static runtime libraries
+if (CAPSTONE_BUILD_STATIC_RUNTIME)
+    FOREACH(flag
+	CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO
+	CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG_INIT
+	CMAKE_CXX_FLAGS_RELEASE  CMAKE_CXX_FLAGS_RELWITHDEBINFO
+	CMAKE_CXX_FLAGS_DEBUG  CMAKE_CXX_FLAGS_DEBUG_INIT)
+	STRING(REPLACE "/MD"  "/MT" "${flag}" "${${flag}}")
+	SET("${flag}" "${${flag}} /EHsc")
+    ENDFOREACH()
+endif ()
+
 if (CAPSTONE_BUILD_SHARED)
     add_library(capstone-shared SHARED ${SOURCES})
     set_property(TARGET capstone-shared PROPERTY OUTPUT_NAME capstone)