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

Dean Michael Berris via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 31 16:57:57 PDT 2018



> On 1 Nov 2018, at 10:47, Stephen Kelly <steveire at gmail.com> wrote:
> 
> 
> 
> 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
> 
> 

Thanks — I’ll try and listen/watch through this in the background.

> 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. 
> 

Interesting.

I don’t see anything here that’s popping out to indicate that there’s something new/modern compared to the CMake files I’ve read/written before.

I may need to read more about this.

Thanks for the links!

Cheers

-- Dean



More information about the llvm-dev mailing list