If I’m somewhat fed up with the complexities of CMake, what are the current hot alternatives? Assume a not huge C++ code base that needs to be buildable on Linux, Mac and Windows. A fair deal of external dependencies but otherwise pretty simple.
If I’m somewhat fed up with the complexities of CMake, what are the current hot alternatives? Assume a not huge C++ code base that needs to be buildable on Linux, Mac and Windows. A fair deal of external dependencies but otherwise pretty simple.
There’s a whole spectrum of ways to generate code (language bindings for message serialization schemes, RDP systems, and whatnot). What I find funny is that I like the excrements of this spectrum and not anywhere in the middle.
You want to do it as an entirely separate build process and commit the results to source control? Cool with me. Use some CI to make sure it’s in sync and I won’t bother you about it at all.
You want to lazily generate that shit the moment before it’s needed in your build system? Love it.
You want me to generate as a pre-build step or bulk generate during the configure phase of CMake build? Nope, don’t like it.
#CodeGeneration #programming #BuildSystems
We’re not building one house. We’re building a system. Robotic, rapid, zero waste.
#BuildSystems #ZeroWasteHousing #CamhirstMethod #RoboticHomes #SustainableConstruction
#fvwm3 #autotools #meson #buildsystems
A little over six months ago, I said the following:
https://bsd.network/web/@thomasadam/113340194570527011
Since six months has passed, I've now pushed to `main` a PR which does just that -- removes autotools from #fvwm3 and replaces it with meson:
https://github.com/fvwmorg/fvwm3/pull/1191
So this has been your warning.
When I release fvwm3-1.1.3, it will be using meson only.
Any questions, please do let me know. I hope downstream packagers have made the transition. :)
C++Now 2025 SESSION ANNOUNCEMENT: Post-Modern Cmake - From 3.0 to 4.0 by Vito Gamberini
https://schedule.cppnow.org/session/2025/post-modern-cmake/
Register now at https://cppnow.org/registration
C++Now 2025 SESSION ANNOUNCEMENT: Welcome to v1.0 of the meta::[[verse]]! by Inbal Levi
https://schedule.cppnow.org/session/2025/welcome-to-v1-0-of-the-metaverse/
Register now at https://cppnow.org/registration/
C++Now 2025 SESSION ANNOUNCEMENT: Pragmatic CMake by Bret Brown
https://schedule.cppnow.org/session/2025/pragmatic-cmake/
Register now at https://cppnow.org/registration/
C++Now 2025 SESSION ANNOUNCEMENT: CPS in Cmake - Marching Towards Standard C++ Dependency Management by Bill Hoffman
https://schedule.cppnow.org/session/2025/cps-in-cmake/
Register now at https://cppnow.org/registration/
C++Now 2025 SESSION ANNOUNCEMENT: Post-Modern Cmake - From 3.0 to 4.0 by Vito Gamberini
https://schedule.cppnow.org/session/2025/post-modern-cmake/
Register now at https://cppnow.org/registration/
C++Now 2025 SESSION ANNOUNCEMENT: Welcome to v1.0 of the meta::[[verse]]! by Inbal Levi
https://schedule.cppnow.org/session/2025/welcome-to-v1-0-of-the-metaverse/
Register now at https://cppnow.org/registration/
🔵🔵🔵🔵🔵 Is NixOS truly reproducible?
Is there any solution for building software out there, where you describe dependencies between modules once and then can run the build both locally _and_ distributed in CI.
Very non-trivial build flows and dependencies!
Incremental builds in Nix and garnix
"[Garnix] approach is to make the derivations you want cached to output their cache (for instance in a separate output), and then to import a previous version of that derivation, and use the cached output from that version in the new one."
"Every build follows a model, even if it is an implicit model named "hairball.""
Well said 😂 https://developer.squareup.com/blog/herding-elephants/
One thing it's missing that I don't even have a plan for is dependency management. But idk really if I even want that to be part of it. I did a proof of concept test of running vcpkg as a configure step and it feels like that worked kind of acceptable, so maybe BYO..DM is acceptable.
So, as most of you probably know as I've gone on about it a lot before, I've made a C++ build system called Wilco.
I haven't touched it in GitHub in a while, although I do have a few fixes in our production version that I should push upstream.
It's weird because I feel like it'd be fun if it got adopted by more people because I think it's actually working pretty good for the things it does. But on the other hand I _really_ don't like the idea of having maintenance pressure.
SwiftCraft 2024 SESSION PREVIEW: Build-a-Binary by Anna Chiara Beltrami
https://swiftcraft.uk/session/build-a-binary
Register now at https://swiftcraft.uk/tickets
I recently discovered gitcache, it's like ccache, but for git clone:
https://github.com/seeraven/gitcache
I periodically need to do a full clean + rebuild of some cmake projects that download and build their dependencies, and gitcache speeds this up A LOT.
We have released a new CppCon 2023 Video!
Lightning Talk: Know Your Audience: Who’s Building Your C++ Code – Chris Thrasher – CppCon 2023
https://youtu.be/xSrEHZ6Sgfg
#BuildSystems
SwiftCraft 2024 SESSION PREVIEW: Build-a-Binary by Anna Chiara Beltrami
https://swiftcraft.uk/session/build-a-binary
Register now at https://swiftcraft.uk/tickets