3 ms·
I'm starting to think build systems should be built like LLVM with separate front-ends and back-ends. Imagine if CMake were separated into a front-end and back
by umvi 7y ago
I'm starting to think build systems should be built like LLVM with separate front-ends and back-ends.
Imagine if CMake were separated into a front-end and back-end. You could use a super nice Scons-esque pythonic front-end instead of CMake's crappy proprietary language and still have all the benefits of CMake!
- gravypod 7y agoI think this kind of feature set is what Bazel is designed to do. All languages are "rule sets" and you can plug in your own rules and every language already has rules.
- wheels 7y agoThat's basically the way things already are. Current backends are things like GNU Make, Ninja, Xcode and Visual Studio. CMake is the frontend.
- umvi 7y agoWell what I guess I mean is, I wish CMake were an API. That way I could use the language of my choice to drive CMake instead of using its quirky/esoteric language. Ninja is indeed a build system backend but it's too low level. I want a intermediate to high level backend that abstracts common things I want to do.