Setting up and maintaining a C++ development environment has always been more difficult than for newer languages, especially once third party dependencies are involved, but in the last few years the ecosystem has improved to the point where it’s possible to create a project that can bootstrap a cross-platform development environment just by opening it with an editor that supports cmake or with a single command in the terminal.
When using vcpkg on projects with many or large dependencies, a large portion of your total build time can be just from building these dependencies even though the resulting artifacts don’t change between compiles.
CMake is a cross-platform utility that abstracts your C++ projects across a wide array of operating systems, compiler toolchains, and build tools. While supported by popular editors such as Visual Studio, VSCode, and CLion, there hasn’t been any way to specify build variants and toolchain options in a cross-editor fashion.
In object oriented programming, factory patterns are common design patterns for object creation.
Online I’ve found some explanations of them lacking and often confused with a different concept entirely.
In this post I’m going to try and clarify the differences between these patterns and concepts and the purposes behind them.
I decided to give my long neglected homepage a makeover (ignoring my other long neglected websites) but instead of just picking
something interesting from the Hugo theme list I decided to go all in and make a new theme from scratch.