[aquaria] Enable Windows compiling

Ryan C. Gordon icculus at icculus.org
Sat Jun 5 17:06:14 EDT 2010


> I made the necessary changes to the CMake script and some of the source 
> files to get the game to compile for Windows again. Tested with Mingw 
> only, on both a native environment and in a cross-compile Linux 
> environment (GCC 4.4.x).

Great work!

I have a few comments on this patch, listed below.

Also, if you send me a formal changeset with "hg export", your name will 
be on the changeset in my repo, so you get all the glory.  :)

> I had to change the line CMAKE_MINIMUM_REQUIRED(VERSION 2.4), making it 
> VERSION 2.6 instead.

This is fine with me.

> <linux/limits.h> inside the first appearance of #ifdef BBGE_BUILD_UNIX

BBGE_BUILD_UNIX is used for Mac OS X, too (in addition to 
BBGE_BUILD_MACOSX...this is to distinguish things that are uniquely for 
the Mac, verses general Unix things that work on both platforms. We 
don't, I think, have a BBGE_BUILD_LINUX at the moment, but we could if 
we needed to. What was the reason for having linux/limits.h, again?)


More stuff:

+    IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+        SET_TARGET_PROPERTIES(aquaria PROPERTIES LINK_FLAGS 
"-Wl,-rpath,$ORIGIN")
+    ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")


This can go away. "-rpath $ORIGIN" tells the dynamic linker to look for 
libraries in the same directory as the executable, which was very 
important when we were shipping SDL and libstdc++ with the game. Now 
that we're open source and can reasonably demand that SDL be installed 
system-wide, there's no good reason to have this.

The rest of the patch looks good to me. I'm pretty happy to find that's 
all it took to get it running on Windows again.   :)

--ryan.



More information about the aquaria mailing list