summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2013-11-13 19:12:02 +0000
committerHans Wennborg <hans@hanshq.net>2013-11-13 19:12:02 +0000
commit4ac2e3c604f938ce3db5dc0af413e1010c1b99c9 (patch)
tree8c66b5e1b5da87e4781db932e385eaca532f42de /cmake
parent929bdb23794b615dc6b0cc59db21f0450c3ce33b (diff)
downloadexternal_llvm-4ac2e3c604f938ce3db5dc0af413e1010c1b99c9.zip
external_llvm-4ac2e3c604f938ce3db5dc0af413e1010c1b99c9.tar.gz
external_llvm-4ac2e3c604f938ce3db5dc0af413e1010c1b99c9.tar.bz2
CMake: make building with /MT an option instead of always forcing it
for release builds. This is a follow-up to r194589. Aaron pointed out that building libraries with /MT and using them in an application that uses a different run-time library can be a bad idea. Move the option to build with /MT behind a CMake option so it can be turned on selectively, such as when building the toolchain installer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194596 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/HandleLLVMOptions.cmake7
1 files changed, 5 insertions, 2 deletions
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index ff71c00..9fdc708 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -41,13 +41,16 @@ else()
endif()
endif()
-if(MSVC)
- # Link release builds against the static runtime.
+if(MSVC AND LLVM_STATIC_MSVC_RUNTIME)
+ # Link against the static runtime.
foreach(flag CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_MINSIZEREL)
llvm_replace_compiler_option("${flag}" "/MD" "/MT")
endforeach()
+ foreach(flag CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG)
+ llvm_replace_compiler_option("${flag}" "/MDd" "/MTd")
+ endforeach()
endif()
if(WIN32)