From: Dan Albert Date: Sat, 26 Jul 2014 23:08:33 +0000 (+0000) Subject: Better defaults for in-tree libc++ with cmake. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55d029e6ae67d173fd0fd218e62f9e359bb1bf34;p=platform%2Fupstream%2Fllvm.git Better defaults for in-tree libc++ with cmake. This will detect if you are building libcxx in-tree and libcxxabi is available. If so, it will default to using the in-tree libcxxabi by setting LIBCXX_CXX_ABI to "libcxxabi", LIBCXX_LIBCXXABI_INCLUDE_PATHS to "${CMAKE_SOURCE_DIR}/projects/libcxxabi/include" and will add "cxxabi" as a proper dependency. Patch by Russell Harmon. llvm-svn: 214037 --- diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index c20e5d1..1345eef 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -46,7 +46,13 @@ option(LIBCXX_INSTALL_SUPPORT_HEADERS "Install libc++ support headers." ON) set(CXXABIS none libcxxabi libcxxrt libstdc++ libsupc++) if (NOT DEFINED LIBCXX_CXX_ABI) - set(LIBCXX_CXX_ABI "none") + if (NOT DEFINED LIBCXX_BUILT_STANDALONE AND IS_DIRECTORY "${CMAKE_SOURCE_DIR}/projects/libcxxabi") + set(LIBCXX_CXX_ABI "libcxxabi") + set(LIBCXX_LIBCXXABI_INCLUDE_PATHS "${CMAKE_SOURCE_DIR}/projects/libcxxabi/include") + set(LIBCXX_CXX_ABI_INTREE 1) + else () + set(LIBCXX_CXX_ABI "none") + endif () endif() set(LIBCXX_CXX_ABI "${LIBCXX_CXX_ABI}" CACHE STRING "Specify C++ ABI library to use." FORCE) @@ -149,6 +155,10 @@ elseif ("${LIBCXX_CXX_ABI}" STREQUAL "libcxxabi") setup_abi_lib("LIBCXX_LIBCXXABI_INCLUDE_PATHS" "" "c++abi" "cxxabi.h" "" ) + + if (LIBCXX_CXX_ABI_INTREE) + add_dependencies(LIBCXX_CXX_ABI_DEPS cxxabi) + endif () 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" ""