Index: bindings/c++/CMakeLists.txt
===================================================================
--- bindings/c++/CMakeLists.txt	(revision 12198)
+++ bindings/c++/CMakeLists.txt	(working copy)
@@ -20,6 +20,17 @@
 
 if(ENABLE_cxx)
 
+  # Set static runtime linkage if requested
+  if(STATIC_RUNTIME)
+    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(STATIC_RUNTIME)
+
   set(plplotcxx${LIB_TAG}_LIB_SRCS
     plstream.cc
     )
Index: bindings/wxwidgets/CMakeLists.txt
===================================================================
--- bindings/wxwidgets/CMakeLists.txt	(revision 12198)
+++ bindings/wxwidgets/CMakeLists.txt	(working copy)
@@ -24,6 +24,17 @@
     wxPLplotwindow.cpp
   )
 
+  # Set static runtime linkage if requested
+  if(STATIC_RUNTIME)
+    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(STATIC_RUNTIME)
+
   # configure header file - we need to make sure, that the user of the bindings
   # can't set the wrong options (use freetype/agg)
   CONFIGURE_FILE(
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 12198)
+++ CMakeLists.txt	(working copy)
@@ -57,6 +57,18 @@
   cmake_minimum_required(VERSION 2.8.6 FATAL_ERROR)
 endif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 
+# Set static runtime linkage if requested
+if(STATIC_RUNTIME)
+  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(STATIC_RUNTIME)
+  
+
 #foreach(policy RANGE 0 9)
 #  cmake_policy(GET CMP000${policy} policy_result)
 #  message(STATUS "Policy CMP000${policy} is ${policy_result}")
Index: examples/c++/CMakeLists.txt
===================================================================
--- examples/c++/CMakeLists.txt	(revision 12198)
+++ examples/c++/CMakeLists.txt	(working copy)
@@ -25,6 +25,17 @@
 # and CORE_BUILD always ON.  The installed examples build always has
 # BUILD_TEST ON and CORE_BUILD OFF.
 
+# Set static runtime linkage if requested
+if(STATIC_RUNTIME)
+  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(STATIC_RUNTIME)
+
 set(cxx_STRING_INDICES
   "01cc"
   "00"
Index: examples/c/CMakeLists.txt
===================================================================
--- examples/c/CMakeLists.txt	(revision 12198)
+++ examples/c/CMakeLists.txt	(working copy)
@@ -24,6 +24,17 @@
 # and CORE_BUILD always ON.  The installed examples build always has
 # BUILD_TEST ON and CORE_BUILD OFF.
 
+# Set static runtime linkage if requested
+if(STATIC_RUNTIME)
+  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(STATIC_RUNTIME)
+
 set(c_STRING_INDICES
   "00"
   "01"
Index: lib/csa/CMakeLists.txt
===================================================================
--- lib/csa/CMakeLists.txt	(revision 12198)
+++ lib/csa/CMakeLists.txt	(working copy)
@@ -19,6 +19,17 @@
 # along with PLplot; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 
+# Set static runtime linkage if requested
+if(STATIC_RUNTIME)
+  foreach(flag_var
+          CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+          CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_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(STATIC_RUNTIME)
+
 if(WITH_CSA)
 
   set(csirocsa_LIB_SRCS
Index: lib/qsastime/CMakeLists.txt
===================================================================
--- lib/qsastime/CMakeLists.txt	(revision 12198)
+++ lib/qsastime/CMakeLists.txt	(working copy)
@@ -19,6 +19,17 @@
 # along with PLplot; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 
+# Set static runtime linkage if requested
+if(STATIC_RUNTIME)
+  foreach(flag_var
+          CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+          CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_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(STATIC_RUNTIME)
+
 # Required to configure qsastimeP.h here and also for deciding whether
 # to build test applications later.
 option(
Index: src/CMakeLists.txt
===================================================================
--- src/CMakeLists.txt	(revision 12198)
+++ src/CMakeLists.txt	(working copy)
@@ -19,6 +19,15 @@
 # along with PLplot; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 
+# Set static runtime linkage if requested
+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)
+
 set(plplot${LIB_TAG}_LIB_SRCS
   pdfutils.c
   plaffine.c
