diff options
| author | Chris Bieneman <beanz@apple.com> | 2016-08-18 21:31:51 +0000 |
|---|---|---|
| committer | Chris Bieneman <beanz@apple.com> | 2016-08-18 21:31:51 +0000 |
| commit | 12b134bd4b233c0a03e98f01022c151ac23658d5 (patch) | |
| tree | 98cbc4d05a9fc663e9f010d57c8ba9bea5d73fb1 | |
| parent | 98cd99dfc671b78ff6d840d474ac9575ad3ea68b (diff) | |
| download | bcm5719-llvm-12b134bd4b233c0a03e98f01022c151ac23658d5.tar.gz bcm5719-llvm-12b134bd4b233c0a03e98f01022c151ac23658d5.zip | |
[CMake] Get libcxx building under LLVM/runtimes
Summary:
The new LLVM runtimes build directory requires some basic conventions across the runtime projects. These changes make libcxx build under the runtimes subdirectory. The general idea of the changes is that the runtimes subdirectory requires some conventions to be consistent across runtime projects.
I expect to have a few more small patches that build on this to tie up check targets and other things useful in development workflows.
Summary of changes in this patch:
* Renamed variable LLVM_CONFIG -> LLVM_CONFIG_PATH
* Renamed variable LIBCXX_BUILT_STANDALONE -> LIBCXX_STANDALONE_BUILD
* Add an include of AddLLVM in the tests subdirectory for add_lit_testsuite.
Reviewers: EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D23696
llvm-svn: 279151
| -rw-r--r-- | libcxx/CMakeLists.txt | 10 | ||||
| -rw-r--r-- | libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake | 14 | ||||
| -rw-r--r-- | libcxx/test/CMakeLists.txt | 2 |
3 files changed, 15 insertions, 11 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 0f8859c697c..2934c6d4015 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -22,7 +22,7 @@ set(CMAKE_MODULE_PATH # Find the LLVM sources and simulate LLVM CMake options. include(HandleOutOfTreeLLVM) -if (LIBCXX_BUILT_STANDALONE) +if (LIBCXX_STANDALONE_BUILD) project(libcxx CXX C) set(PACKAGE_NAME libcxx) @@ -31,7 +31,7 @@ if (LIBCXX_BUILT_STANDALONE) set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org") endif() -if (LIBCXX_BUILT_STANDALONE AND NOT LLVM_FOUND) +if (LIBCXX_STANDALONE_BUILD AND NOT LLVM_FOUND) message(WARNING "UNSUPPORTED LIBCXX CONFIGURATION DETECTED: " "llvm-config not found and LLVM_PATH not defined.\n" "Reconfigure with -DLLVM_CONFIG=path/to/llvm-config " @@ -81,7 +81,7 @@ set_property(CACHE LIBCXX_CXX_ABI PROPERTY STRINGS ;${CXXABIS}) # Setup the default options if LIBCXX_CXX_ABI is not specified. if (NOT LIBCXX_CXX_ABI) - if (NOT DEFINED LIBCXX_BUILT_STANDALONE AND + if (NOT DEFINED LIBCXX_STANDALONE_BUILD AND IS_DIRECTORY "${CMAKE_SOURCE_DIR}/projects/libcxxabi") set(LIBCXX_CXX_ABI_LIBNAME "libcxxabi") set(LIBCXX_CXX_ABI_INCLUDE_PATHS "${CMAKE_SOURCE_DIR}/projects/libcxxabi/include") @@ -367,9 +367,9 @@ define_if(MSVC -D_CRT_SECURE_NO_WARNINGS) # Sanitizer flags ============================================================= -# Configure for sanitizers. If LIBCXX_BUILT_STANDALONE then we have to do +# Configure for sanitizers. If LIBCXX_STANDALONE_BUILD then we have to do # the flag translation ourselves. Othewise LLVM's CMakeList.txt will handle it. -if (LIBCXX_BUILT_STANDALONE) +if (LIBCXX_STANDALONE_BUILD) set(LLVM_USE_SANITIZER "" CACHE STRING "Define the sanitizer used to build the library and tests") # NOTE: LLVM_USE_SANITIZER checks for a UNIX like system instead of MSVC. diff --git a/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake b/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake index 9c5dd810926..934dfcd7bb1 100644 --- a/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake +++ b/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake @@ -1,15 +1,17 @@ macro(find_llvm_parts) # Rely on llvm-config. set(CONFIG_OUTPUT) - find_program(LLVM_CONFIG "llvm-config") + if(NOT LLVM_CONFIG_PATH) + find_program(LLVM_CONFIG_PATH "llvm-config") + endif() if(DEFINED LLVM_PATH) set(LLVM_INCLUDE_DIR ${LLVM_INCLUDE_DIR} CACHE PATH "Path to llvm/include") set(LLVM_PATH ${LLVM_PATH} CACHE PATH "Path to LLVM source tree") set(LLVM_MAIN_SRC_DIR ${LLVM_PATH}) set(LLVM_CMAKE_PATH "${LLVM_PATH}/cmake/modules") - elseif(LLVM_CONFIG) - message(STATUS "Found LLVM_CONFIG as ${LLVM_CONFIG}") - set(CONFIG_COMMAND ${LLVM_CONFIG} + elseif(LLVM_CONFIG_PATH) + message(STATUS "Found LLVM_CONFIG_PATH as ${LLVM_CONFIG_PATH}") + set(CONFIG_COMMAND ${LLVM_CONFIG_PATH} "--includedir" "--prefix" "--src-root") @@ -60,8 +62,8 @@ macro(find_llvm_parts) endmacro(find_llvm_parts) -if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - set(LIBCXX_BUILT_STANDALONE 1) +if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD) + set(LIBCXX_STANDALONE_BUILD 1) message(STATUS "Configuring for standalone build.") find_llvm_parts() diff --git a/libcxx/test/CMakeLists.txt b/libcxx/test/CMakeLists.txt index d47a9e003fc..f206e92c2cc 100644 --- a/libcxx/test/CMakeLists.txt +++ b/libcxx/test/CMakeLists.txt @@ -1,3 +1,5 @@ +include(AddLLVM) # for add_lit_testsuite + macro(pythonize_bool var) if (${var}) set(${var} True) |

