diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-10-23 20:24:00 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-10-23 20:24:00 +0000 |
commit | cd8047d099bd98ad982967af76120d2a83142ec0 (patch) | |
tree | 205119d3dc8e53f860ead7fbae6e8cb54d922e91 /CMakeLists.txt | |
parent | 5a2da06d221513c39c1a48236981b0355c3adaf8 (diff) |
Change all of the build flags to switch /MD and /MDd into /MT, instead of just some of the targets. Fixes PR21241.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@220506 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3da2eb0dd..8fe05ac78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -246,10 +246,15 @@ if(MSVC) # Replace the /MD[d] flags with /MT. # FIXME: In fact, sanitizers should support both /MT and /MD, see PR20214. if(COMPILER_RT_HAS_MT_FLAG) - string(REPLACE "/MDd" "/MT" CMAKE_CXX_FLAGS_DEBUG - "${CMAKE_CXX_FLAGS_DEBUG}") - string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE - "${CMAKE_CXX_FLAGS_RELEASE}") + 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}}") + elseif(${flag_var} MATCHES "/MDd") + string(REGEX REPLACE "/MDd" "/MT" ${flag_var} "${${flag_var}}") + endif() + endforeach() endif() append_list_if(COMPILER_RT_HAS_Oy_FLAG /Oy- SANITIZER_COMMON_CFLAGS) append_list_if(COMPILER_RT_HAS_GS_FLAG /GS- SANITIZER_COMMON_CFLAGS) |