summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShoaib Meenai <smeenai@fb.com>2018-06-30 01:04:50 +0000
committerShoaib Meenai <smeenai@fb.com>2018-06-30 01:04:50 +0000
commitaaca56fa860a80c5714e52821755023c43aa8185 (patch)
treee7534e987123ce3677138c8ae4181881746c5c3e
parent28fe9f564cfbedf8d3a85314d5d01072c23eef7a (diff)
[libc++abi] Limit libc++ header search to specified paths
Right now, when libc++abi is locating libc++ headers, it specifies several search locations, but it also doesn't prevent CMake from looking for those headers in system directories. I don't know if this was intentional or an oversight, but it has several issues: * We're looking specifically for the vector header, which could just as easily be found in a libstdc++ (or other C++ library) installation. * No system I know of places their C++ headers directly in system include directories (they're always under a C++ subdirectory), so the system search will never succeed. * find_path searches system paths before the user-specified PATHS, so if some system does happen to have C++ headers in its system include directories, those headers will be preferred, which doesn't seem desirable. It makes sense to me to limit this header search to the explicitly specified paths (using NO_DEFAULT_PATH, as is done for the other find_path call in this file), but I'm putting it up for review in case there's some use case I'm not thinking of. Differential Revision: https://reviews.llvm.org/D48694 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@336032 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c92be5f..f8892e5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -116,6 +116,7 @@ find_path(
${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBCXX_INCLUDES}
${LIBCXXABI_LIBCXX_INCLUDE_DIRS}
${LLVM_INCLUDE_DIR}/c++/v1
+ NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH
)