...Static-link MSVC CRT properly

This commit is contained in:
Clownacy 2019-04-29 23:21:52 +01:00
parent 12b6fad997
commit 5c339ef686

View file

@ -16,6 +16,15 @@ endif()
project(CSE2 LANGUAGES C CXX) project(CSE2 LANGUAGES C CXX)
if(MSVC)
# Statically-link the CRT (vcpkg static libs do this)
foreach(flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO 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()
## ##
# CSE2 # CSE2
## ##
@ -249,13 +258,6 @@ endif()
# Make some tweaks if we're using MSVC # Make some tweaks if we're using MSVC
if(MSVC) if(MSVC)
target_compile_definitions(CSE2 PRIVATE _CRT_SECURE_NO_WARNINGS) # Shut up those stupid warnings 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() endif()
# Magic to convert resources to header files # Magic to convert resources to header files