In 2021, I started competing in the VEX robotics competition. This was my first real application using C++ (ignoring Arduino). On the tooling side, I learned about makefiles and managing dependencies in the C/C++ ecosystem.
To improve IDE integration and remove platform-specific build code, I rewrote the program’s makefile as a CMake project in my second year of robotics. Compared to Makefiles, I found CMake to be much simpler to use and quickly iterate on. It handled cross-compilation surprisingly well and made building with different compilers significantly easier.
clang-tidy
or clang-format
over the project’s sources