How do bigger projects deal with C++ compile times?

I use a continuous integration (CI) service (Jenkins and Vagrant) that is plugged in to my Gitlab server. As we do pushes to the various branches, the continuous integration server will do the compile and run some tests. We normally push our branches when we are satisfied we have a stable feature.

Most of the work is done inside Visual Studio and the editor and the CI service handles everything for me. This includes doing Linux Client and Dedicated Server builds as well as the Windows Client and Dedicated Server builds. I haven’t managed to get the Mac side of things working … but we are okay with doing manual builds of that.