[cfe-dev] [PATCH] Support building libc++ using an in-tree libc++abi

eatnumber1 at google.com eatnumber1 at google.com
Thu Jul 24 11:09:16 PDT 2014


From: Russell Harmon <eatnumber1 at google.com>

This adds a new LIBCXX_CXX_ABI called "libcxxabi-in-tree", which will add
"${CMAKE_SOURCE_DIR}/projects/libcxxabi/include" to
LIBCXX_LIBCXXABI_INCLUDE_PATHS and will add "cxxabi" as a proper dependency.
---
 CMakeLists.txt | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c20e5d1..fd3e808 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,7 +44,7 @@ option(LIBCXX_ENABLE_CXX0X "Enable -std=c++0x and use of c++0x language features
 option(LIBCXX_ENABLE_SHARED "Build libc++ as a shared library." ON)
 option(LIBCXX_INSTALL_SUPPORT_HEADERS "Install libc++ support headers." ON)
 
-set(CXXABIS none libcxxabi libcxxrt libstdc++ libsupc++)
+set(CXXABIS none libcxxabi libcxxrt libstdc++ libsupc++ libcxxabi-in-tree)
 if (NOT DEFINED LIBCXX_CXX_ABI)
   set(LIBCXX_CXX_ABI "none")
 endif()
@@ -149,6 +149,12 @@ elseif ("${LIBCXX_CXX_ABI}" STREQUAL "libcxxabi")
   setup_abi_lib("LIBCXX_LIBCXXABI_INCLUDE_PATHS" ""
     "c++abi" "cxxabi.h" ""
     )
+elseif ("${LIBCXX_CXX_ABI}" STREQUAL "libcxxabi-in-tree")
+  set(LIBCXX_LIBCXXABI_INCLUDE_PATHS "${CMAKE_SOURCE_DIR}/projects/libcxxabi/include")
+  setup_abi_lib("LIBCXX_LIBCXXABI_INCLUDE_PATHS" ""
+    "cxxabi" "cxxabi.h" ""
+    )
+  add_dependencies(LIBCXX_CXX_ABI_DEPS cxxabi)
 elseif ("${LIBCXX_CXX_ABI}" STREQUAL "libcxxrt")
   setup_abi_lib("LIBCXX_LIBCXXRT_INCLUDE_PATHS" "-DLIBCXXRT"
     "cxxrt" "cxxabi.h;unwind.h;unwind-arm.h;unwind-itanium.h" ""
-- 
2.0.0.526.g5318336




More information about the cfe-dev mailing list