Date: Mon, 4 Nov 2024 17:03:12 +0200
Ville Voutilainen <ville.voutilainen_at_[hidden]> writes:
> On Mon, 4 Nov 2024 at 15:01, Boris Kolpackov <boris_at_[hidden]> wrote:
> >
> > Ville Voutilainen via SG15 <sg15_at_[hidden]> writes:
> >
> > > But that also doesn't necessarily mean dynamic build graph nodes. I'm
> > > not a build system expert, but I do know how to construct my (CMake)
> > > builds so that the generative build is done before the builds that
> > > need its results, so that the generation results are there when the
> > > next step is configured as part of an overall build (the build, not
> > > the configure-step of the overall build), and it then feeds Ninja a
> > > perfectly static build graph.
> >
> > How would you handle the Apache Thrift example I mentioned in a
> > sibling reply? Do you expect the user to re-run CMake every time
> > they change their IDL file?
>
> No, I don't expect that. I will write the CMake build so that its
> build tool reruns CMake for the relevant parts of the overall project.
Still not ideal: every time the user changes anything in the IDL
files (even if they don't change anything that affects the set of
outputs), they will pay with a project regeneration.
> On Mon, 4 Nov 2024 at 15:01, Boris Kolpackov <boris_at_[hidden]> wrote:
> >
> > Ville Voutilainen via SG15 <sg15_at_[hidden]> writes:
> >
> > > But that also doesn't necessarily mean dynamic build graph nodes. I'm
> > > not a build system expert, but I do know how to construct my (CMake)
> > > builds so that the generative build is done before the builds that
> > > need its results, so that the generation results are there when the
> > > next step is configured as part of an overall build (the build, not
> > > the configure-step of the overall build), and it then feeds Ninja a
> > > perfectly static build graph.
> >
> > How would you handle the Apache Thrift example I mentioned in a
> > sibling reply? Do you expect the user to re-run CMake every time
> > they change their IDL file?
>
> No, I don't expect that. I will write the CMake build so that its
> build tool reruns CMake for the relevant parts of the overall project.
Still not ideal: every time the user changes anything in the IDL
files (even if they don't change anything that affects the set of
outputs), they will pay with a project regeneration.
Received on 2024-11-04 15:02:17