diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt --- a/libcxxabi/src/CMakeLists.txt +++ b/libcxxabi/src/CMakeLists.txt @@ -260,6 +260,16 @@ # Merge the libc++abi.a and libunwind.a into one. if(LIBCXXABI_USE_LLVM_UNWINDER AND LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY) + if(LIBCXXABI_UNWIND_LIBRARY_PATH) + set(MERGE_ARCHIVES_SEARCH_PATHS "-L${LIBCXXABI_UNWIND_LIBRARY_PATH}") + endif() + + if(TARGET unwind_static) + set(MERGE_ARCHIVES_UNWIND "$") + else() + set(MERGE_ARCHIVES_UNWIND "${CMAKE_STATIC_LIBRARY_PREFIX}unwind${CMAKE_STATIC_LIBRARY_SUFFIX}") + endif() + add_custom_command(TARGET cxxabi_static POST_BUILD COMMAND ${PYTHON_EXECUTABLE} ${LIBCXXABI_LIBCXX_PATH}/utils/merge_archives.py ARGS @@ -267,7 +277,8 @@ --ar "${CMAKE_AR}" ${MERGE_ARCHIVES_LIBTOOL} "$" - "$" + "${MERGE_ARCHIVES_UNWIND}" + "${MERGE_ARCHIVES_SEARCH_PATHS}" WORKING_DIRECTORY ${LIBCXXABI_BUILD_DIR} ) endif()