[CMake] Don't copy headers on fully standalone

In r280108 I tried to make the headers copy relative to LLVM_BINARY_DIR, and the intent was that it would only happen on in-tree builds or runtimes directory builds. It didn't actually work that way.

This patch adds a check for CMAKE_SOURCE_DIR being equal to CMAKE_CURRENT_SOURCE_DIR. In this case we set a variable LIBCXX_USING_INSTLLED_LLVM. This doesn't necessarily mean the LLVM is installed (it could be a build directory), but it means we need to treat the LLVM directory as read-only.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@280400 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Bieneman
2016-09-01 18:46:53 +00:00
parent 25a93c54f3
commit 2e3538460a
2 changed files with 10 additions and 2 deletions

View File

@@ -61,8 +61,16 @@ macro(find_llvm_parts)
set(LLVM_FOUND ON)
endmacro(find_llvm_parts)
# If this is a standalone build not running as an external project of LLVM
# we need to later make some decisions differently.
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
# The intent is that this doesn't necessarily mean the LLVM is installed (it
# could be a build directory), but it means we need to treat the LLVM
# directory as read-only.
set(LIBCXX_USING_INSTLLED_LLVM 1)
endif()
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD)
if (LIBCXX_USING_INSTLLED_LLVM OR LIBCXX_STANDALONE_BUILD)
set(LIBCXX_STANDALONE_BUILD 1)
message(STATUS "Configuring for standalone build.")