aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@google.com>2017-02-02 20:44:22 +0100
committerGravatar Jan Tattermusch <jtattermusch@google.com>2017-02-02 23:51:09 +0100
commit514079179df9d59f2fb497e1caf5a4e11b50225d (patch)
tree45201efc0cfe26544691a1639c1f178b10a37642 /cmake
parent48cfe47a6d1ef26030d7e2bb80e33be9fc76f569 (diff)
cmake: support static runtime linking
Diffstat (limited to 'cmake')
-rw-r--r--cmake/msvc_static_runtime.cmake14
1 files changed, 14 insertions, 0 deletions
diff --git a/cmake/msvc_static_runtime.cmake b/cmake/msvc_static_runtime.cmake
new file mode 100644
index 0000000000..5a31ab3d24
--- /dev/null
+++ b/cmake/msvc_static_runtime.cmake
@@ -0,0 +1,14 @@
+option(gRPC_MSVC_STATIC_RUNTIME "Link with static msvc runtime libraries" OFF)
+
+if(gRPC_MSVC_STATIC_RUNTIME)
+ # switch from dynamic to static linking of msvcrt
+ foreach(flag_var
+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+
+ if(${flag_var} MATCHES "/MD")
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+ endif(${flag_var} MATCHES "/MD")
+ endforeach(flag_var)
+endif()
+