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

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to