diff options
author | Petr Hosek <phosek@chromium.org> | 2017-02-16 05:18:08 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2017-02-16 05:18:08 +0000 |
commit | 43ce8ac924648715b6db77ee2156650c24ed92e7 (patch) | |
tree | 8549b6c6adb2bf8eae508f72713f3a3b728f5aa0 | |
parent | 3d49b5dd4a3adbf4c6d4f49e7446933737e50012 (diff) | |
download | libunwind_llvm-43ce8ac924648715b6db77ee2156650c24ed92e7.tar.gz |
[libunwind][CMake] Use libc++ headers when available
libunwind depends on C++ library headers. When building libunwind
as part of LLVM and libc++ is available, use its headers.
Differential Revision: https://reviews.llvm.org/D29997
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@295285 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | CMakeLists.txt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ba4b65..32c215c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -282,4 +282,24 @@ endif() include_directories(include) +find_path( + LIBUNWIND_LIBCXX_INCLUDES_INTERNAL + __libcpp_version + PATHS ${LLVM_MAIN_SRC_DIR}/projects/libcxx/include + ${LLVM_MAIN_SRC_DIR}/runtimes/libcxx/include + NO_DEFAULT_PATH +) +if ((NOT LIBUNWIND_STANDALONE_BUILD OR HAVE_LIBCXX) AND + IS_DIRECTORY "${LIBUNWIND_LIBCXX_INCLUDES_INTERNAL}") + set(LIBUNWIND_CXX_INCLUDE_PATHS_DEFAULT "${LIBUNWIND_LIBCXX_INCLUDES_INTERNAL}") +endif() + +set(LIBUNWIND_CXX_INCLUDE_PATHS "${LIBUNWIND_CXX_INCLUDE_PATHS_DEFAULT}" CACHE PATH + "Paths to C++ header directories separated by ';'.") + +if (NOT LIBUNWIND_CXX_INCLUDE_PATHS STREQUAL "") + list(APPEND LIBUNWIND_CXX_FLAGS -nostdinc++) + include_directories("${LIBUNWIND_CXX_INCLUDE_PATHS}") +endif() + add_subdirectory(src) |