[SDL] CMake gurus...

Terry Welsh mogumbo at gmail.com
Sat Mar 23 21:41:16 PDT 2013

As a non-cmake-guru, I see the value of what Ryan is saying. There
have been times where I have poked around in cmake-gui doing
trial-and-error to try and get a usable VS project created. So that
seems like a nice-to-have layer to put on top of any robust solution.

As I see it, the underlying problem is that every platform has
different build requirements. Cmake is still the most pleasant
solution to that problem that I have used. Creating a script that can
create projects/build scripts for all platforms sounds like it lies
somewhere between making something like Cmake specialized for SDL and
remaking Cmake. Either way, it sounds daunting and maybe redundant.
Terry Welsh

>> Ideally we would use something make-ish that was generic enough to act
>> as both a build system, AND a configure system, but I don't recall any
>> logic languages being standard installs anywhere.
> Ideally we want Windows people to find a Visual Studio project that
> matches their version of Visual Studio, double-click it, and build the
> library.
> Right now we're maintaining several .vcproj files for different
> versions, and almost universally, some subset of them fails to get
> updated when we change a project setting of add/remove files. Tests are
> missing from many of them, etc.
> XCode is slightly better about this, but still suffers from the fact
> that it's not necessarily our primary way to build SDL (even on Mac, I'm
> using the configure script, for example), so it isn't well-maintained
> either.
> If not CMake, something that allows us to do what CMake does is really
> really interesting: we maintain one text file, it spits out projects for
> lots of tools. But we really don't want the Windows/Mac experience to be
> like this:
> - Download SDL sources.
> - There's no Visual Studio project?!
> - Read the readme, find out I'm supposed to use CMakeLists.txt (which is
> the worst naming choice ever, btw).
> - Download CMake.
> - Install CMake.
> - Run CMake-gui.
> - Maybe understand I was supposed to point it at the SDL root directory.
> - Maybe understand I should set the output directory somewhere outside
> of the source tree.
> - Maybe understand that the poorly-built dropdown list actually scrolls,
> and my compiler is, in fact, supported.
> - Click configure (maybe twice).
> - Generate project files.
> - Launch Visual Studio with the project files.
> - Compile.
> What I'd _rather_ they do is this:
> - Download SDL sources.
> - Double-click the correct .sln file in the "VisualStudio" directory,
> which we generated with CMake when packaging up the sources.
> - Compile.

More information about the SDL mailing list