# MSVC static runtime option /MT is overwritten by /MD

**URL:** https://discourse.vtk.org/t/msvc-static-runtime-option-mt-is-overwritten-by-md/3651
**Category:** Development
**Created:** [June 26, 2020, 3:17am UTC](https://discourse.vtk.org/t/msvc-static-runtime-option-mt-is-overwritten-by-md/3651 "2020-06-26T03:17:18Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![sdobashi](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/e9c0ed/32.png) [@sdobashi](https://discourse.vtk.org/u/sdobashi)
#### Post date: [June 26, 2020, 3:17am UTC](https://discourse.vtk.org/t/msvc-static-runtime-option-mt-is-overwritten-by-md/3651/1 "2020-06-26T03:17:19Z")

</div>

Hello, VTK developers

When building the latest version of VTK  
(Commit: 318abc9fda820b3c1619a13008182c84d09ae5b6)  
MSVC static runtime option /MT was overwritten by /MD.

This issue is not observed for VTK 9.0.1 released yesterday (2020/06/25).

I used the following build options:

```
cmake %SOURCE_DIR% -G "Visual Studio 15 2017" ^
 -A x64 ^
 -DBUILD_SHARED_LIBS:BOOL=OFF ^
 -DCMAKE_CXX_MP_FLAG:BOOL=ON ^
 -DCMAKE_CXX_MP_NUM_PROCESSORS:STRING=32 ^
 -DVTK_BUILD_TESTING:BOOL=OFF ^
 -DVTK_BUILD_EXAMPLES:BOOL=OFF ^
 -DCMAKE_CXX_FLAGS_DEBUG:STRING="/MTd /Zi /Ob0 /Od /RTC1" ^
 -DCMAKE_CXX_FLAGS_MINSIZEREL:STRING="/MT /O1 /Ob1 /DNDEBUG" ^
 -DCMAKE_CXX_FLAGS_RELEASE:STRING="/MT /O2 /Ob2 /DNDEBUG" ^
 -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="/MT /Zi /O2 /Ob1 /DNDEBUG" ^
 -DCMAKE_C_FLAGS_DEBUG:STRING="/MTd /Zi /Ob0 /Od /RTC1" ^
 -DCMAKE_C_FLAGS_MINSIZEREL:STRING="/MT /O1 /Ob1 /DNDEBUG" ^
 -DCMAKE_C_FLAGS_RELEASE:STRING="/MT /O2 /Ob2 /DNDEBUG" ^
 -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="/MT /Zi /O2 /Ob1 /DNDEBUG"

```

The basic environments are

```
CMake version: 3.18.0-rc2
OS: Windows 10.0.18363
Compiler: MSVC 19.16.27041.0 (VS 2017, 15.9 update)

```

I want to build VTK with static linkage to MSVC runtime.  
Is there any workaround for this issue?

Thanks in advance.

 ![Capture](https://discourse.vtk.org/uploads/default/original/2X/e/eb1719a13c8dfe5b936ef32190c4e2d51d302c8e.png)

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [June 26, 2020, 1:23pm UTC](https://discourse.vtk.org/t/msvc-static-runtime-option-mt-is-overwritten-by-md/3651/2 "2020-06-26T13:23:19Z")

</div>

With newer CMake, you should use [`CMAKE_MSVC_RUNTIME_LIBRARY`](https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html) instead of manual flags.

---

<div class="post-metadata">

### Author: ![sdobashi](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/e9c0ed/32.png) [@sdobashi](https://discourse.vtk.org/u/sdobashi)
#### Post date: [June 27, 2020, 12:17am UTC](https://discourse.vtk.org/t/msvc-static-runtime-option-mt-is-overwritten-by-md/3651/3 "2020-06-27T00:17:45Z")

</div>

Hello, Ben

It works!  
Thank you so much for your help.
