-
Notifications
You must be signed in to change notification settings - Fork 218
Building
This page will show you how to build OpenSpades
- If you wish just to download the latest dev snapshot, you can go to the Snapshots page
- Compiling OpenSpades can take quite some time depending on you computer settings
- You computer may be slowed down during the build procces
- If this happens, its recommended to leave it alone during the build proccess.
-
Windows
- Visual Studio 2015
-
Visual studio 2013(no longer supported) - CodeBlocks IDE (not available yet)
- Command-line (not available yet)
-
GNU/Linux
- Debian, Ubuntu and other Debian-derived distros
- Generic Linux (WIP)
-
Mac OS X
- XCode (WIP/help wanted)
- If you haven't already, install CMake for Windows
- Download the latest source code
- Add external sources and dependencies to OpenSpades
- Navigate to
Sources/Externals/
- Download the external source code
- Extract it inside
Sources/Externals
, merging thelib
andinclude
folders
- Navigate to
- Run CMake
- Open CMake GUI
- Set the source directory as your root of the source code (e.g
E:\openspades
) - Set the build directory as Root/openspades.msvc (eg.
E:\openspades\openspades.msvc
). - Press
configure
button - If it asks to create the OpenSpades.msvc folder, confirm
- Set the compiler as Visual Studio 14 (2015)
- Make sure its not the 64-bit one
- Press
generate
button
- Open
openspades\openspades.msvc\OpenSpades.sln
in Visual Studio 2015 - Build the solution. The recommended build type is
MinSizeRel
orRelease
for non-developers.- The build output will be at
openspades\openspades.msvc\bin\BUILD_TYPE
- The build output will be at
- Copy all
.dll files
fromSource/Externals/lib
to the build output directory. - To get audio working, download a Windows release of OpenSpades, extract it, and copy the following dlls to the build output directory:
- For OpenAL audio:
openal32.dll
- For YSR audio:
YSRSpades.dll
,libgcc_s_dw2-1.dll
,libstdc++-6.dll
,pthreadGC2.dll
- For OpenAL audio:
- Download the Non-free pak, extract it, and copy
Nonfree/pak000-Nonfree.pak
to theResources
folder inside your build output directory, which is probablyE:/Projects/openspades/openspades.msvc/bin/BUILD_TYPE/Resources
. You can also copy the paks contained inOfficial Mods/
folder of OpenSpades 0.0.12b to add more fonts and improve localization support of your build. - Copy Resources/PackageInfo.json to the Resources folder inside your build output directory.
Note: If you messed up the CMake process, open again the CMake gui, go to File
and select Delete cache
.
Note 2: Having trouble? Watch this video (stub))
-
Open up your terminal of choice.
-
Install all the dependencies if you haven't already done that:
$ sudo apt-get install pkg-config libglew-dev libcurl3-openssl-dev libsdl2-dev libsdl2-image-dev libalut-dev xdg-utils libfreetype6-dev libopus-dev libopusfile-dev libjpeg-dev libxinerama-dev libxft-dev git cmake imagemagick
- Clone the GitHub repository and
cd
into the repository directory:
$ git clone https://github.com/yvt/openspades
$ cd openspades
- Create the build directory and
cd
into that directory:
$ mkdir openspades.mk
$ cd openspades.mk
- Build it!
$ cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ make
- Copy the
Resources
directory intobin
(or else the game won't launch):- If you want
make
to install it or you don't plan on distributing ignore this step.- If you do plan on distributing it remember to remove CMake files from
Resources
.
- If you do plan on distributing it remember to remove CMake files from
- If you want
$ cp -r ./Resources ./bin/
- Only if you want to install the game from source! Run:
- Make sure that you're in openspades.mk!
- Make sure that
/usr/local/share/games/openspades
doesn't exist, if it already exists then runsudo rm -rf /usr/local/share/games/openspades
.
$ sudo make install
This wiki is in the middle of an update process to match the latest changes of OpenSpades 0.1.2
It may contain outdated, incorrect or incomplete information.
Please contact the repository owner (@yvt) via email or ask a question in the issue tracker if there is any obscure information you are looking for that can't be found in neither the source code nor in this wiki.