And I'm a 10+ year gamedev.
Out of all of c++'s sins, the lack of a solid integrated build system is the one that bites me the most.
And I'm a 10+ year gamedev.
Out of all of c++'s sins, the lack of a solid integrated build system is the one that bites me the most.
- Cross platform support well integrating into "native" tooling
- Endless ability to add weird hacks to things to get around problems
The syntax is ...passable. I've never gotten a java stacktrace during a build failure (ahem bazel ahem).
It's straightforward enough to do the horrible things that C++ devs do all of the time like having 3 dependencies from system apt, 2 vendored, actually a 3rd is vendored but only used on windows, where the other 2 come from vcpkg, and 4 of these are statically linked but the last (openssl) is dynamic and accepts any version in order to support both ubuntu LTS and arch, but shipped as a dll on windows.
I have prayed before the CMake gods and they have accepted me.
The worst part about Bazel for C++ is that it’s not yet as widespread as CMake or plain old Makefiles so it can be harder to get third party libraries into your project, but that’s changing quite fast with the bazel registry, and you have things like rules_cc that help you run other build systems inside bazel.