summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2013-11-13 18:16:23 +0000
committerHans Wennborg <hans@hanshq.net>2013-11-13 18:16:23 +0000
commite258845a63aa72c4a13f939af05a230f2720f637 (patch)
tree0657e01592ca43f2d54060e98e05a70209ab98de /cmake
parenta9a8f0f432966438800ffabb1b740a4cc8cd2599 (diff)
downloadllvm-e258845a63aa72c4a13f939af05a230f2720f637.tar.gz
llvm-e258845a63aa72c4a13f939af05a230f2720f637.tar.bz2
llvm-e258845a63aa72c4a13f939af05a230f2720f637.tar.xz
cmake: link release builds statically against run-time library on windows (use /MT instead of /MD)
This should fix the problem of snapshot builds created with MSVC 2012 not working for users with MSVC 2010, etc. Differential Revision: http://llvm-reviews.chandlerc.com/D2157 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194589 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/HandleLLVMOptions.cmake10
1 files changed, 10 insertions, 0 deletions
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index bb41a58df2..ff71c00544 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -5,6 +5,7 @@
include(AddLLVMDefinitions)
include(CheckCCompilerFlag)
include(CheckCXXCompilerFlag)
+include(LLVMProcessSources)
if( CMAKE_COMPILER_IS_GNUCXX )
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
@@ -40,6 +41,15 @@ else()
endif()
endif()
+if(MSVC)
+ # Link release builds 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()
+endif()
+
if(WIN32)
if(CYGWIN)
set(LLVM_ON_WIN32 0)