diff options
author | Eric Fiselier <eric@efcs.ca> | 2017-01-14 06:06:47 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2017-01-14 06:06:47 +0000 |
commit | fdd3c91b5ff4275feaf2b1a9cc09caf4784e58be (patch) | |
tree | 47f99c51bb3028e34955fca6c28859e12a38f2c8 /cmake | |
parent | 8d2a5ad70b4a4411c82e7f2da5c2accd6b30cc91 (diff) | |
download | external_libcxx-fdd3c91b5ff4275feaf2b1a9cc09caf4784e58be.tar.gz external_libcxx-fdd3c91b5ff4275feaf2b1a9cc09caf4784e58be.tar.bz2 external_libcxx-fdd3c91b5ff4275feaf2b1a9cc09caf4784e58be.zip |
[libc++] [CMake] Link with /nodefaultlibs on Windows
Summary:
This patch attempts to fix the libc++ build/link so that it doesn't use an default C++ libraries on Windows. This is needed to prevent linking to MSVC's STL library.
Additionally this patch changes libc++ so that it is always linked with the non-debug DLL's (e.g. `/MD`). This is needed so that the test suite can correctly link the same libraries without needing to know which configuration `c++.dll` was linked with.
Reviewers: compnerd, rnk, majnemer, kimgr, awson, halyavin, smeenai
Subscribers: cfe-commits, mgorny
Differential Revision: https://reviews.llvm.org/D28441
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292001 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/HandleLibcxxFlags.cmake | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cmake/Modules/HandleLibcxxFlags.cmake b/cmake/Modules/HandleLibcxxFlags.cmake index 7077c6e38..5ea69e4c0 100644 --- a/cmake/Modules/HandleLibcxxFlags.cmake +++ b/cmake/Modules/HandleLibcxxFlags.cmake @@ -26,6 +26,10 @@ endmacro() # or added in other parts of LLVM's cmake configuration. macro(remove_flags) foreach(var ${ARGN}) + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_DEBUG}") string(REPLACE "${var}" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") string(REPLACE "${var}" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") string(REPLACE "${var}" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") |