diff --git a/CMakeLists.txt b/CMakeLists.txt index 96ccb322f..9e285577b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -197,6 +197,7 @@ option(USE_STATIC "Build static libraries" ON) option(USE_SHARED "Build shared libraries" OFF) option(USE_LIBXML "Use LibXml2 parser" ON) option(USE_EXPAT "Use expat parser" OFF) +option(USE_STATIC_MSVC_RUNTIME "Use static version of the MSVC run-time library" OFF) #adding xml2 if (USE_LIBXML) @@ -227,6 +228,19 @@ if (USE_EXPAT) # TODO:: use externals endif () +if(USE_STATIC_MSVC_RUNTIME) + foreach(flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + if(${flag} MATCHES "/MD") + STRING(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}") + endif() + if(${flag} MATCHES "/MDd") + STRING(REGEX REPLACE "/MDd" "/MTd" ${flag} "${${flag}}") + endif() + endforeach() +endif() + #adding PCRE find_package(PCRE) if (PCRE_FOUND)