Date: Mon, 25 Nov 2024 16:50:35 -0600
On Mon, Nov 25, 2024 at 4:41 PM Bret Brown via SG15
<sg15_at_[hidden]> wrote:
>
> I think a simple file format is possible. I could implement a simple enough JSON-based one in CMake itself. Assuming a couple other build systems add support for the same format, we would have something we could standardize meaningfully. I expect we'll help a *lot* of the ecosystem by simplifying interop with a standard in this space.
>
> That being said, I expect the utility of that approach will diminish as project complexity increases. It's widely counterintuitive, but having a Turing-complete build configuration does have the upside of supporting just about anything you if you really, really want to. Without forking your build tool. For instance, arbitrary dependency discovery, ecosystem specific project layout support, or modeling of arbitrary development tooling like bespoke code generators or linters.
It is possible to design a declarative format that allows for use of
turing-complete extensions. I.e. if you can reduce the fractured
effort of the base project declaration build systems can concentrate
their energy on the value added in handling domain specific
complexities.
<sg15_at_[hidden]> wrote:
>
> I think a simple file format is possible. I could implement a simple enough JSON-based one in CMake itself. Assuming a couple other build systems add support for the same format, we would have something we could standardize meaningfully. I expect we'll help a *lot* of the ecosystem by simplifying interop with a standard in this space.
>
> That being said, I expect the utility of that approach will diminish as project complexity increases. It's widely counterintuitive, but having a Turing-complete build configuration does have the upside of supporting just about anything you if you really, really want to. Without forking your build tool. For instance, arbitrary dependency discovery, ecosystem specific project layout support, or modeling of arbitrary development tooling like bespoke code generators or linters.
It is possible to design a declarative format that allows for use of
turing-complete extensions. I.e. if you can reduce the fractured
effort of the base project declaration build systems can concentrate
their energy on the value added in handling domain specific
complexities.
-- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supone Nada -- Robot Dreams - http://robot-dreams.net
Received on 2024-11-25 22:50:50