[CMake] Check runtimes subdir when looking for libcxx and libuwind

The runtimes subdir is the new location for runtimes, we should
include it when looking for libcxx and libunwind headers.

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

llvm-svn: 286614
This commit is contained in:
Petr Hosek 2016-11-11 19:12:58 +00:00
parent da2028b967
commit bfb371a083

View File

@ -138,18 +138,26 @@ if (NOT LIBCXXABI_ENABLE_SHARED AND NOT LIBCXXABI_ENABLE_STATIC)
endif()
if (LLVM_EXTERNAL_LIBCXX_SOURCE_DIR)
set(LIBCXXABI_LIBCXX_SRC_DIR ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
set(LIBCXXABI_LIBCXX_SRC_DIRS ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
else()
set(LIBCXXABI_LIBCXX_SRC_DIR ${LLVM_MAIN_SRC_DIR}/projects/libcxx)
set(LIBCXXABI_LIBCXX_SRC_DIRS
"${LLVM_MAIN_SRC_DIR}/projects/libcxx"
"${LLVM_MAIN_SRC_DIR}/runtimes/libcxx"
)
endif()
set(LIBCXXABI_LIBCXX_INCLUDE_DIRS "")
foreach(dir ${LIBCXXABI_LIBCXX_SRC_DIRS})
list(APPEND LIBCXXABI_LIBCXX_INCLUDE_DIRS "${dir}/include")
endforeach()
find_path(
LIBCXXABI_LIBCXX_INCLUDES
vector
PATHS ${LIBCXXABI_LIBCXX_INCLUDES}
${LIBCXXABI_LIBCXX_PATH}/include
${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBCXX_INCLUDES}
${LIBCXXABI_LIBCXX_SRC_DIR}/include
${LIBCXXABI_LIBCXX_INCLUDE_DIRS}
${LLVM_INCLUDE_DIR}/c++/v1
)
@ -161,7 +169,7 @@ find_path(
test/libcxx/__init__.py
PATHS ${LIBCXXABI_LIBCXX_PATH}
${LIBCXXABI_LIBCXX_INCLUDES}/../
${LIBCXXABI_LIBCXX_SRC_DIR}
${LIBCXXABI_LIBCXX_SRC_DIRS}
NO_DEFAULT_PATH
)
@ -380,6 +388,7 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM)
${LIBCXXABI_LIBUNWIND_PATH}/include
${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES}
${LLVM_MAIN_SRC_DIR}/projects/libunwind/include
${LLVM_MAIN_SRC_DIR}/runtimes/libunwind/include
NO_DEFAULT_PATH
)
@ -389,6 +398,7 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM)
PATHS ${LIBCXXABI_LIBUNWIND_PATH}/src/
${LIBCXXABI_LIBUNWIND_INCLUDES}/../src/
${LLVM_MAIN_SRC_DIR}/projects/libunwind/src/
${LLVM_MAIN_SRC_DIR}/runtimes/libunwind/src/
NO_DEFAULT_PATH
)