C++ Logo

sg15

Advanced search

Re: [Tooling] [Modules and Tools] Tracking Random Dependency Information

From: Manuel Klimek <klimek_at_[hidden]>
Date: Thu, 3 Jan 2019 11:49:01 +0100
On Wed, Dec 19, 2018 at 1:24 PM Peter Bindels <dascandy_at_[hidden]> wrote:

> Hi Jon,
>
> I've given talks on how it works at MeetingC++ 2016 and 2017, and CppCon
> 2018. We're using one of those tools at work too to autogenerate 70% of our
> build scripts (CMake) for a very large project (1000+ components). You can
> find the tool repositories on
> https://github.com/tomtom-international/cpp-dependencies and
> https://github.com/dascandy/evoke.
>
> I'm mostly advocating the approach as a valid one though, rather than the
> specific tools. I believe John Lakos' Large Scale C++ Software Design also
> allures to it as a valid approach.
>

Btw, loved the CppCon talk, and I think this is a great addition to the C++
build space.
Internally at Google (unfortunately not all of this is published yet,
mainly due to internal dependencies that are hard to get rid off) I also
have basically stopped editing build files, because a tool does that for me
- I think that's the approach from the other side of the spectrum: consider
build files a human-editable cache of the information a tool can figure
out. The tool fits the 99.9% case, and when you have special cases, like
various .so's that need to link in the exact symbols you want, or
multi-language repositories where you want to build code-generators, and
sandboxed remote builds, you also get this. That obviously comes with
significant overhead, so I do think the layout based build system approach
has great upsides as long as one can make it work.


>
> Regards,
> Peter Bindels
>
> On Wed, 19 Dec 2018 at 13:11, Jon Chesterfield <
> jonathanchesterfield_at_[hidden]> wrote:
>
>> Hi Peter,
>>
>> Date: Wed, 19 Dec 2018 08:48:54 +0100
>>> From: Peter Bindels <dascandy_at_[hidden]>
>>
>>
>>> I, for one, have stopped writing build files about 4 years ago and I
>>> haven't missed them one bit.
>>>
>>
>> How have you achieved this excellent result?
>>
>> I spent a long time trying to write a single build script that would
>> infer dependencies from the filesystem layout and then just works as more
>> files are added / moved. That's sort of functional, but it struggles with
>> code generators and still contains a list of what libraries various
>> executables should be linked against.
>>
>> I'd very much like a good solution to this.
>>
>> Cheers
>>
>> Jon
>>
>> _______________________________________________
>> Tooling mailing list
>> Tooling_at_[hidden]
>> http://www.open-std.org/mailman/listinfo/tooling
>>
> _______________________________________________
> Tooling mailing list
> Tooling_at_[hidden]
> http://www.open-std.org/mailman/listinfo/tooling
>

Received on 2019-01-03 11:49:16