if(MSVC) if("${MSVC_RUNTIME}" STREQUAL "") set(MSVC_RUNTIME "static") endif() if(${MSVC_RUNTIME} STREQUAL "static") message(STATUS "MSVC -> forcing use of statically-linked runtime.") foreach(config ${CMAKE_CONFIGURATION_TYPES}) string(TOUPPER ${config} config) string(REPLACE /MD /MT CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}") string(REPLACE /MD /MT CMAKE_CXX_FLAGS_${config} "${CMAKE_CXX_FLAGS_${config}}") endforeach() string(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) else() message(STATUS "MSVC -> forcing use of dynamically-linked runtime.") foreach(config ${CMAKE_CONFIGURATION_TYPES}) string(TOUPPER ${config} config) string(REPLACE /MT /MD CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}") string(REPLACE /MT /MD CMAKE_CXX_FLAGS_${config} "${CMAKE_CXX_FLAGS_${config}}") endforeach() string(REPLACE "/MTd" "/MDd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) endif() endif()