mstorsjo added a comment. In D136572#3888177 <https://reviews.llvm.org/D136572#3888177>, @mstorsjo wrote:
> This broke builds where clang/lld/lldb are symlinked into `llvm/tools` > instead of specified via `LLVM_ENABLE_PROJECTS` - since > `${CMAKE_CURRENT_SOURCE_DIR}/../cmake` doesn't find anything in that context. This aspect, for finding the shared cmake directory, is handled elsewhere by the main LLVM build setting the `LLVM_COMMON_CMAKE_UTILS` variable, and if not found, it's assumed to be in `${CMAKE_CURRENT_SOURCE_DIR}/..`. See e.g. https://github.com/llvm/llvm-project/blob/llvmorg-15.0.0/lld/CMakeLists.txt#L198-L206. Since this is invoked very early in the per-project cmakefiles, I guess we can't assume to have all those variables set up yet, but e.g. something like this fixes the issue for me: diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt index 964bc3fd8b17..530f52b05bac 100644 --- a/lld/CMakeLists.txt +++ b/lld/CMakeLists.txt @@ -1,6 +1,11 @@ cmake_minimum_required(VERSION 3.13.4) -include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake - NO_POLICY_SCOPE) +if(DEFINED LLVM_COMMON_CMAKE_UTILS) + include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake + NO_POLICY_SCOPE) +else() + include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/CMakePolicy.cmake + NO_POLICY_SCOPE) +endif() # If we are not building as a part of LLVM, build LLD as an # standalone project, using LLVM as an external library: (And the same applied for all the other subprojects.) It's admittedly not very pretty though... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136572/new/ https://reviews.llvm.org/D136572 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits