From 12b6fad9972d32f44c5077aa1e071865c8b8575b Mon Sep 17 00:00:00 2001 From: Clownacy Date: Mon, 29 Apr 2019 22:11:47 +0100 Subject: [PATCH] Made MSVC static-link the CRT --- CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 48917eba..6e8aaf07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -249,6 +249,13 @@ endif() # Make some tweaks if we're using MSVC if(MSVC) target_compile_definitions(CSE2 PRIVATE _CRT_SECURE_NO_WARNINGS) # Shut up those stupid warnings + + # Statically-link the CRT (vcpkg static libs do this) + 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() + endforeach() endif() # Magic to convert resources to header files