Progress on CMake

Okay, I’ll admit that this is a really boring screenshot.  But the fireworks are appropriate.

This is a screenshot of my very first fully successful CMake-based build of the VectorStorm testbeds on OS X.

This particular executable was built without XCode at all — compiled by gcc, managed by makefiles,  debugged via gdb, and then finally assembled into a normal application bundle by CMake.  All of which makes me feel nicely retro, since it’s all command-line tools.  Of course, with CMake owning the build process, it could just as easily have spit out a native XCode project file instead of the makefiles, and I could have had all the modern GUI conveniences.  But it makes me feel better to know that makefiles do work as well.

There’s still some work to be done, even on the Mac build shown here.  For one thing,  it’s not correctly noticing that this is a debug build (it is), and so the timing bars aren’t being drawn.  That’s probably a missing #define or using the wrong prefix file for something.  For another thing, when working under CMake, it really wants to build Unix-style programs, rather than Mac-style bundles;  the bundle itself gets built inside the optional “install” build step.  And since the VectorStorm library on Mac assumes that it’s always living inside an application bundle, that causes to problems if it’s not.

There’s also some minor work to be done to make sure that this build system works under Win32 as well.  Oddly enough, this is one of those unusual cases where deploying software is far easier under Windows than on the Mac.

And then once Windows is sorted out, I’ll want to test that it all works under Linux as well.  Or maybe I’ll leave that to someone else to verify for me.  All this will eventually be put into a public git repository, after all, and so maybe an interested party will raise their hand to help out.