diff options
author | Alexey Samsonov <samsonov@google.com> | 2014-02-28 08:04:30 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2014-02-28 08:04:30 +0000 |
commit | 61dc076b63907f61ee59e6ed7c8dffdf27f1f10b (patch) | |
tree | 9c6034107ec96b0aac4035c7c0230c2451af8c44 /CMakeLists.txt | |
parent | e8910c5eb8386513e8823d00246aae5dca383cc5 (diff) | |
download | compiler-rt-61dc076b63907f61ee59e6ed7c8dffdf27f1f10b.tar.gz |
[CMake] Fix PR18987: discard /MD flag if we're adding /MT
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@202472 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 57690a722..b77ad63c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -255,9 +255,15 @@ append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG -fno- append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG -fvisibility=hidden) append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG -fno-function-sections) -append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_MT_FLAG /MT) -append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_Oy_FLAG /Oy-) -append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_GS_FLAG /GS-) +if(MSVC) + # Remove /MD flag so that it doesn't conflict with /MT. + if(COMPILER_RT_HAS_MT_FLAG) + string(REGEX REPLACE "(^| ) */MD *( |$)" "\\1 \\2" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + list(APPEND SANITIZER_COMMON_CFLAGS /MT) + endif() + append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_Oy_FLAG /Oy-) + append_if(SANITIZER_COMMON_CFLAGS COMPILER_RT_HAS_GS_FLAG /GS-) +endif() # Build with optimization, unless we're in debug mode. if(NOT COMPILER_RT_DEBUG) |