Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
oil
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
Yeah I'm left scratching my head at the purpose of this project.
I wrote 3 GNU makefiles from scratch (a few hundred lines each) starting in ~2016 for https://www.oilshell.org/, and regret it. I switched to Python + Ninja, and I should have just used that all along.
So I think GNU make is already pretty old and regretted, and POSIX make even more so.
CMake + Ninja seems be pretty common these days, but for my project Python works fine. CMake is also a bad (shell-like) language, but I'm pretty sure it's better and more featureful than GNU make (i.e. you're less likely to need to switch build systems/languages due to a new requirement)
This thread has some interesting experiences ... it does seem like there needs to be a better high level language to generate Ninja
https://lobste.rs/s/7svvkz/using_bsd_make#c_bfwcyc
https://xmake.io/ kinda is Meson but with Lua instead of Python. Lua is embedded so no external dependency.
Related posts
- An Introduction to Modern CMake
- How to Structure C Projects: These Best Practices Worked for Me
- xmake: Fast and lightweight build tools with dependency package integration
- Xmake v2.8.5 released, Support for link sorting and unit testing
- Xmake v2.8.5 released, Support for link sorting and unit testing