forked from OSchip/llvm-project
[CMake][libcxxabi] Support merging objects when statically linking unwinder
When using LLVM unwinder and static unwinder option is set, merge libunwind and libc++abi objects into a single archive. libc++ already supports merging libc++abi.a and libc++.a into a single archive; with this change, it is possible to also include libunwind.a in the same archive which is useful when doing static link and using libc++ as a default C++ library and compiler-rt as a default runtime library. Differential Revision: https://reviews.llvm.org/D39949 llvm-svn: 318563
This commit is contained in:
parent
ba996aba01
commit
56a1f07156
|
@ -151,7 +151,13 @@ endif()
|
|||
|
||||
# Build the static library.
|
||||
if (LIBCXXABI_ENABLE_STATIC)
|
||||
add_library(cxxabi_static STATIC $<TARGET_OBJECTS:cxxabi_objects>)
|
||||
set(cxxabi_static_sources $<TARGET_OBJECTS:cxxabi_objects>)
|
||||
if (LIBCXXABI_USE_LLVM_UNWINDER AND LIBCXXABI_ENABLE_STATIC_UNWINDER)
|
||||
if (TARGET unwind_static OR HAVE_LIBUNWIND)
|
||||
list(APPEND cxxabi_static_sources $<TARGET_OBJECTS:unwind_objects>)
|
||||
endif()
|
||||
endif()
|
||||
add_library(cxxabi_static STATIC ${cxxabi_static_sources})
|
||||
target_link_libraries(cxxabi_static ${LIBCXXABI_LIBRARIES})
|
||||
set_target_properties(cxxabi_static
|
||||
PROPERTIES
|
||||
|
|
Loading…
Reference in New Issue