[llvm-dev] GN build roundtable summary; adding GN build files to the repo

Stephen Kelly via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 31 16:47:00 PDT 2018


On Wed, 31 Oct 2018, 23:43 Dean Michael Berris <dean.berris at gmail.com wrote:

>
>
> > On 1 Nov 2018, at 10:21, Stephen Kelly via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > On 31/10/2018 22:44, Dean Michael Berris via llvm-dev wrote:
> >> FWIW, this is consistent with my experience as well.
> >> I also wrote a presubmit script that I run locally to build/test the
> cross-product of:
> >> COMPILER={gcc+gold, clang+lld}
> >> MODE={debug, release-with-assertions}
> >> TARGETS={llvm+clang+lld+compiler-rt, compiler-rt(standalone)}
> >> While the build/test times are helped by using ninja, the CMake config
> times are less than optimal.
> >
> >
> > It is possible that we have features/complexity in our CMakeLists.txt
> which is not needed. The CMake files are not using modern cmake features.
> Maybe it's time to change that. It might simplify the buildsystem a bit.
> >
>
> I think this might be easier when we finish the move to the monorepo, and
> can better coordinate/simplify the build across projects. I certainly think
> it’s worth doing, even if we end up with GN and CMake files in the project.
>
> I’m personally not aware of the “modern” CMake patterns. Do you have a
> reference online that interested individuals might be able to casually
> approach?
>

Here is a talk with unfortunate audio quality:

>
https://steveire.wordpress.com/2017/11/05/embracing-modern-cmake


And documentation:

https://cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html

The big topic that llvm does not take advantage of is usage requirements on
targets as documented there.

Thanks,

Stephen.


> Cheers
>
> -- Dean
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181031/b6e08c45/attachment.html>


More information about the llvm-dev mailing list