Fix libcxxabi CMake detection of libcxx path to handle LLVM_EXTERNAL_LIBCXX_SOURCE_DI...
authorMehdi Amini <mehdi.amini@apple.com>
Mon, 7 Nov 2016 22:07:43 +0000 (22:07 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Mon, 7 Nov 2016 22:07:43 +0000 (22:07 +0000)
Differential Revision: https://reviews.llvm.org/D26364

llvm-svn: 286161

libcxxabi/CMakeLists.txt

index 73ec5c5..8923b76 100644 (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
   )