Cmkr – a modern build system based on CMake and TOML
1–10 of 30 posts
Re: Cmkr – a modern build system based on CMake and TOML
#2It's great that it's self-bootstrapping, though. I thought they would have you install both this tool and CMake in order to build the project on end-user's machines.
Re: Cmkr – a modern build system based on CMake and TOML
#3Re: Cmkr – a modern build system based on CMake and TOML
#4Looks like it's a declarative CMake so you don't have to interact with the CMake DSL yourself. Which is nice, but I've rarely had a non-sample/toy CMake project where I didn't have to hack something outside of the straightforward steps the docs make it look like you need to do, so my number concern with this is that it's going to end up being a (very) leaky abstraction. How much will cmkr get in the way and make it h…
I want something that is declarative and extensible at its core, and not an after-the-fact bandaid that tries to fix what's broken beyond repair.
Re: Cmkr – a modern build system based on CMake and TOML
#5Re: Cmkr – a modern build system based on CMake and TOML
#6Yo dawg, I heard you like generating build scripts, so we put a generator in your generator so you can generate while you generate.
Re: Cmkr – a modern build system based on CMake and TOML
#7Re: Cmkr – a modern build system based on CMake and TOML
#8Re: Cmkr – a modern build system based on CMake and TOML
#9Re: Cmkr – a modern build system based on CMake and TOML
#10Any system like CMake that wraps boatloads of complexity is going to have unexpected interactions and inscrutable failures.
The question for any developer who doesn't want to become a build system guru is whether they can take a happy path far from any gotcha's.
That's when people start defining conventions to solve classes of problems: follow this template to do X, and you'll be fine.
The value of Cmkr lies in being about to define those conventions and happy paths. I should be able to inspect their templates, and if one fits, I'm good to go.
Even nicer would the ability to retrofit my build to a known-working template.
But Cmkr only presents the "beginners" template repo as an aside, and says nothing about whether these templates are tested for various projects on various systems.
By not explicitly identifying the problem it's trying to solve, Cmkr seems to have bumped up against a solution accidentally, and doesn't give me confidence. I believe that could be easily remedied.