Cross platform Builds & GitHub Automated Builds - Brewken/brewken GitHub Wiki
We want the code to build on various versions of Linux, Windows and Mac. This involves dealing with different compilers (and different versions of the same compiler), and often requires making a number of small tweaks to code that "already compiles and works" on the system you use for development. As long as you're not trying to use "bleeding edge" language/library features, the required changes are usually mostly to make your code more correct -- in that the incompatibilities between compilers are often that one will let you get away with something that is not strictly standards-compliant.
Fortunately, you don't have to run lots of different OSs yourself, as GitHub can automatically do multi-platform builds via GitHub Actions.
The configuration of GitHub actions lives in YAML files in the .github/workflows directory of the code repository.