-
Notifications
You must be signed in to change notification settings - Fork 18
Build
Only 64-bit Linux version is being developed/supported by now, however Shadowgrounds are supposed to be working on Windows/Linux/Mac. Any assistance is welcomed.
External dependencies:
- Boost 1.42
- SDL (core, sound, image, ttf)
- OpenGL
- OpenAL
- GTK2
- ZLIB
PhysX SDK isn't supported yet.
Checkouting and building is simple (Linux):
git clone git://github.com/vayerx/shadowgrounds.git
mkdir shadowgrounds/build
cd shadowgrounds/build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
Make supports two targets: shadowgrounds
and survivor
(both are build by default).
Location of data-files (data*.fbz
, data/
, survivor/
) can be specified by {SHADOWGROUNDS,SURVIVOR}_DATA_PATH / CMAKE_DATA_PATH variables in cmake configuration or by --data
command-line argument.
Shadowgrounds live-ebuilds for Gentoo Linux are available at vayerx overlay as games-action/shadowgrounds
.
Alternative (original) make-only build:
# need to create libunzip.a
# once only
# should integrate to build system
# but unzip is old shit C code and g++ barfs on it
cd filesystem/detail
gcc -c -o ioapi.o -O ioapi.c
gcc -c -o unzip.o -O unzip.c
ar r libunzip.a ioapi.o unzip.o
ranlib libunzip.a
mv libunzip.a ../../binaries/
cd ../..
cd binaries
cp example.mk local.mk
# Edit local.mk to suit your tastes.
# Create necessary subdirectories. Only needed the first time and when directory structure changes
make bindirs
# The build system is parallel build safe, add -j<n> if you like
make
Make-only build won't be supported in favour of CMake.
You can specify data location at run-time: shadowgrounds --data=/usr/share/games/shadowgrounds
. You can also change the default path at compile-time: cmake -DSHADOWGROUNDS_DATA_PATH=/usr/share/games/shadowgrounds ...
or via CMAKE_DATA_PATH -- it is a prefix of data directory: **/usr/share/games/**shadowgrounds .
Similarly for Survivor.
SDLmain library (part of SDL) may be supplied as an stand-alone package. CMake will fail like this:
The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SDLMAIN_LIBRARY
Gentoo Linux supplies SDLmain as a part of media-libs/libsdl
. On Fedora you'll have to install SDL-static.x86_64
.