[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