Best system for cross-platform builds

Alright. I’ve been trying to figure this out for a good while (unsuccessfully), and can’t seem to find any good resources on the subject.

My objective: to build the same SDL game on all 3 desktop operating systems (Windows, Mac, and Linux) without using any IDE’s.

I keep my code under source control on GitHub and simply wish to be able to clone the repo on each operating system, edit the code with the text editor of my choice (Vim), and build it on/for each OS through a fully automated process, without using Visual Studio or Xcode for Windows/Mac builds.

How does everyone else do this? Are there any good tutorials/resources that I’ve overlooked?

Ideally I would like to be able to git pull and run a single shell command in order to generate a release build for each platform. Is such a thing possible?

I hate Visual Studio because the SDL games that I’ve compiled with it all end up with dependencies on Microsoft C runtimes and occasionally won’t run on computers with said runtimes installed. (I have tried several different ways to avoid this.) I hate Xcode because it seems designed from top to bottom to bind me to Apple products and technologies. I got incredibly frustrated trying to compile an SDL game in Xcode.

I’ve been able to independently build SDL games on Windows and Linux using makefiles, but I’ve never been able to compile so much as a “Hello World” on Mac OS.