From 1f33e4a632f88c4f4344f02c0e19e6832ddee134 Mon Sep 17 00:00:00 2001 From: microplankton Date: Thu, 3 Nov 2016 01:16:02 +0100 Subject: [PATCH] Add an option to link with MSVC static runtime instead of the dynamic one Signed-off-by: Dave Rodgman --- CMakeLists.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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")