diff --git a/CMakeLists.txt b/CMakeLists.txt index f31794df6..2fecb6efd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -242,6 +242,20 @@ if(MBEDTLS_FATAL_WARNINGS) 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")