diff options
| author | Michael J. Spencer <bigcheesegs@gmail.com> | 2012-12-31 19:34:21 +0000 |
|---|---|---|
| committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2012-12-31 19:34:21 +0000 |
| commit | bb8cfd0fec3dcd4be6134350ac1da052473266fe (patch) | |
| tree | cae32e77ecc2fde23789c62f9e6ea9b573b4929a /libcxx/CMakeLists.txt | |
| parent | c48bbe71704606b5c56bbb6cec154c24a4fa051d (diff) | |
| download | bcm5719-llvm-bb8cfd0fec3dcd4be6134350ac1da052473266fe.tar.gz bcm5719-llvm-bb8cfd0fec3dcd4be6134350ac1da052473266fe.zip | |
[CMake] Fix c++ abi library configuration on Linux.
You can now configure from the command line using:
-DLIBCXX_CXX_ABI=libsupc++
-DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="path;path
Also documents how to build on Linux.
llvm-svn: 171316
Diffstat (limited to 'libcxx/CMakeLists.txt')
| -rw-r--r-- | libcxx/CMakeLists.txt | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 0f7941c4884..663467e7867 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -40,6 +40,9 @@ 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) set(CXXABIS none libcxxabi libcxxrt libsupc++) +if (NOT DEFINED LIBCXX_CXX_ABI) + set(LIBCXX_CXX_ABI "none") +endif() set(LIBCXX_CXX_ABI "${LIBCXX_CXX_ABI}" CACHE STRING "Specify C++ ABI library to use." FORCE) set_property(CACHE LIBCXX_CXX_ABI PROPERTY STRINGS "";${CXXABIS}) @@ -63,9 +66,10 @@ get_target_triple(LIBCXX_TARGET_TRIPLE ) set(LIBCXX_TARGET_TRIPLE ${LIBCXX_TARGET_TRIPLE} CACHE STRING "Target triple.") -if (${LIBCXX_CXX_ABI} STREQUAL "libsupc++") - set(LIBCXX_LIBSUPCXX_INCLUDE_PATHS "" CACHE STRINGS - "Paths to libsupc++ include directories. Separate by system separator") +if ("${LIBCXX_CXX_ABI}" STREQUAL "libsupc++") + set(LIBCXX_LIBSUPCXX_INCLUDE_PATHS "${LIBCXX_LIBSUPCXX_INCLUDE_PATHS}" + CACHE STRINGS + "Paths to libsupc++ include directories separate by ';'.") set(LIBCXX_CXX_ABI_LIBRARIES stdc++) set(LIBCXX_LIBSUPCXX_FILES cxxabi.h @@ -75,6 +79,9 @@ if (${LIBCXX_CXX_ABI} STREQUAL "libsupc++") bits/cxxabi_tweaks.h bits/cxxabi_forced.h ) + # Create include directories. + file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/include") + file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/include/bits") set(LIBCXX_LIBSUPCXX_FILE_PATHS) foreach(path ${LIBCXX_LIBSUPCXX_FILES}) set(found FALSE) @@ -106,7 +113,7 @@ if (${LIBCXX_CXX_ABI} STREQUAL "libsupc++") FILES_MATCHING PATTERN "*" ) -elseif (${LIBCXX_CXX_ABI} NOT STREQUAL "none") +elseif (NOT "${LIBCXX_CXX_ABI}" STREQUAL "none") message(FATAL_ERROR "Currently only none and libsupc++ are supported for c++ abi.") endif () |

