diff options
| -rw-r--r-- | libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake | 10 | ||||
| -rw-r--r-- | libcxx/include/CMakeLists.txt | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake b/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake index 934dfcd7bb1..349d234e198 100644 --- a/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake +++ b/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake @@ -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.") diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt index 40ab262cd2b..1ad6aa1d0bd 100644 --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt @@ -10,7 +10,7 @@ set(LIBCXX_HEADER_PATTERN ${LIBCXX_SUPPORT_HEADER_PATTERN} ) -if(LLVM_BINARY_DIR) +if(NOT LIBCXX_USING_INSTLLED_LLVM) file(COPY . DESTINATION "${LLVM_BINARY_DIR}/include/c++/v1" FILES_MATCHING |

