5 ms·
With a good CMake configuration and Ninja and ccache, a minute or two max. Your CMake makes incremental builds safe, and the ccache saves you when switching be
by snovv_crash 9y ago
With a good CMake configuration and Ninja and ccache, a minute or two max.
Your CMake makes incremental builds safe, and the ccache saves you when switching between branches.
- inetknght 9y agoCMake helps a good bit, ccache goes further, and ninja helps a bit too. But none of them can help templated header-only libraries with complex interdependencies. It gets particularly bad when the developer #includes a convenience header to bring in _everything_ in the library instead of just what they need.
- snovv_crash 9y agoAgreed. Good use of PImpl when you have large external header-only libraries is also generally recommended to keep the dependency graph nicer. Also from what I've seen, large header-only codebases tend to be external and thus generally don't change that much, so if you can limit your own internal dependency tree ccache can still save you.