[cmake] Add MINGW_LIBRARIES to the linker flags
authorMartin Storsjo <martin@martin.st>
Tue, 14 Aug 2018 06:13:36 +0000 (06:13 +0000)
committerMartin Storsjo <martin@martin.st>
Tue, 14 Aug 2018 06:13:36 +0000 (06:13 +0000)
This is essential when building with -nodefaultlibs.

In some CMake versions (noticed in 3.5.1), the same libraries are
picked up from CMAKE_REQUIRED_LIBRARIES in some exceptional situations
(if CXX probing failed, due to libc++ not being built yet, the libraries
from CMAKE_REQUIRED_LIBRARIES are used for linking the target library),
but not at all in other newer CMake versions (3.10).

This is similar to what already is done in libcxxabi in SVN r302760
and libcxx in SVN r312498.

Differential Revision: https://reviews.llvm.org/D50663

llvm-svn: 339642

libunwind/src/CMakeLists.txt

index 937159e..7a737ef 100644 (file)
@@ -62,6 +62,9 @@ append_if(LIBUNWIND_CXX_FLAGS LIBUNWIND_HAS_NO_RTTI_FLAG -fno-rtti)
 
 append_if(LIBUNWIND_LINK_FLAGS LIBUNWIND_HAS_NODEFAULTLIBS_FLAG -nodefaultlibs)
 
+# MINGW_LIBRARIES is defined in config-ix.cmake
+append_if(libraries MINGW "${MINGW_LIBRARIES}")
+
 if (LIBUNWIND_HAS_NO_EXCEPTIONS_FLAG AND LIBUNWIND_HAS_FUNWIND_TABLES)
   list(APPEND LIBUNWIND_COMPILE_FLAGS -fno-exceptions)
   list(APPEND LIBUNWIND_COMPILE_FLAGS -funwind-tables)