Fix libcxxabi CMake detection of libcxx path to handle LLVM_EXTERNAL_LIBCXX_SOURCE_DIR flag

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

llvm-svn: 286161
This commit is contained in:
Mehdi Amini 2016-11-07 22:07:43 +00:00
parent 0d41b7b3f3
commit c1f152d8d1

View File

@ -137,13 +137,19 @@ if (NOT LIBCXXABI_ENABLE_SHARED AND NOT LIBCXXABI_ENABLE_STATIC)
message(FATAL_ERROR "libc++abi must be built as either a shared or static library.")
endif()
if (LLVM_EXTERNAL_LIBCXX_SOURCE_DIR)
set(LIBCXXABI_LIBCXX_SRC_DIR ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
else()
set(LIBCXXABI_LIBCXX_SRC_DIR ${LLVM_MAIN_SRC_DIR}/projects/libcxx/include)
endif()
find_path(
LIBCXXABI_LIBCXX_INCLUDES
vector
PATHS ${LIBCXXABI_LIBCXX_INCLUDES}
${LIBCXXABI_LIBCXX_PATH}/include
${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBCXX_INCLUDES}
${LLVM_MAIN_SRC_DIR}/projects/libcxx/include
${LIBCXXABI_LIBCXX_SRC_DIR}/include
${LLVM_INCLUDE_DIR}/c++/v1
)
@ -155,7 +161,7 @@ find_path(
test/libcxx/__init__.py
PATHS ${LIBCXXABI_LIBCXX_PATH}
${LIBCXXABI_LIBCXX_INCLUDES}/../
${LLVM_MAIN_SRC_DIR}/projects/libcxx/
${LIBCXXABI_LIBCXX_SRC_DIR}
NO_DEFAULT_PATH
)