Search code examples
visual-c++cmakegoogletest

How to make GTest build /MDd (instead of /MTd) by default, using CMake?


I am trying to integrate GTest with CMake as seamlessly as possible. But the default build type for my test projects are /MDd and GTest defaults to /MTd. I am manually changing GTest project properties to emit debug DLL.

But every time I make changes to my CMakeLists.txt, GTest defaults back to /MTd. How do I stop this?


Solution

  • You can define gtest_force_shared_crt to ON before including gtest to achieve this. You can either do this via the command line:

    cmake . -Dgtest_force_shared_crt=ON
    

    or in your CMakeLists.txt:

    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)