[PATCH] D136572: Harmonize cmake_policy() across standalone builds of all projects

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 28 00:04:45 PDT 2022


mstorsjo added a comment.

In D136572#3890835 <https://reviews.llvm.org/D136572#3890835>, @mgorny wrote:

> In D136572#3889317 <https://reviews.llvm.org/D136572#3889317>, @mstorsjo wrote:
>
>> Also for the record, I'd love to get rid of this symlink based setup, if I could make cmake produce project files where caching works in the same way. The main requirement for that would be to have the whole cmake build started from the toplevel llvm-project directory (so that all source from all subprojects are subdirectories to this), instead of the llvm-project/llvm directory.
>
> To be honest, I also find it weird to start monorepo builds from within `llvm` subdirectory. Perhaps adding a top-level `CMakeLists.txt` that would work and wouldn't break people's workflows wouldn't be that hard, though.

This has been discussed briefly before - the main issue is that LLVM does some cmake trickery to recreate the installed directory structure (with executables in `$(pwd)/bin` etc) directly in the build folder, and if `llvm-project/llvm` is included from a toplevel `llvm-project/CMakeLists.txt`, this all ends up in `$(pwd)/llvm/bin` as things stand right now. See e.g. https://discourse.llvm.org/t/rfc-llvm-build-system-future-direction/53430/18. Hopefully it wouldn't be too hard to resolve - I had a brief look at it (just creating a stub CMakeLists.txt at the root and including the llvm subdirectory) a couple years ago, but didn't spend further time on looking into how things are set up and what it would take to fix it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136572/new/

https://reviews.llvm.org/D136572



More information about the llvm-commits mailing list