Add an option to link with MSVC static runtime instead of the dynamic one
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f31794d..2fecb6e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -242,6 +242,20 @@
endif(CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNU)
endif(MBEDTLS_FATAL_WARNINGS)
+if(MSVC)
+ option(BUILD_WITH_STATIC_RUNTIME "Build the libraries with /MT compiler flag" OFF)
+ if(BUILD_WITH_STATIC_RUNTIME)
+ foreach(flag_var
+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
+ CMAKE_C_FLAGS_CHECK)
+ if(${flag_var} MATCHES "/MD")
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+ endif(${flag_var} MATCHES "/MD")
+ endforeach(flag_var)
+ endif()
+endif()
+
if(CMAKE_BUILD_TYPE STREQUAL "Coverage")
if(CMAKE_COMPILER_IS_GNU OR CMAKE_COMPILER_IS_CLANG)
set(CMAKE_SHARED_LINKER_FLAGS "--coverage")