summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2014-10-23 20:24:00 +0000
committerAaron Ballman <aaron@aaronballman.com>2014-10-23 20:24:00 +0000
commitcd8047d099bd98ad982967af76120d2a83142ec0 (patch)
tree205119d3dc8e53f860ead7fbae6e8cb54d922e91 /CMakeLists.txt
parent5a2da06d221513c39c1a48236981b0355c3adaf8 (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.txt13
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)