25 September 2014

Compiling Voxelands on Mac OSX

What is Voxelands?
Voxelands - the Fun-Focused Free Software Voxel World Game. Voxelands is a sandbox construction game based on Minetest, which was inspired by earlier "voxel world" games such as Infiniminer.

We already have the precompiled mac app for the latest stable release that you can install at: http://voxelands.com/downloads/voxelands-1408.00-osx.dmg

Disclaimer: The above voxelands-1408.00-os.dmg would still need the mentions dependencies installed from brew below, with the exception of git, cmake, Xcode, Xcode Command Line Tools. This post is mostly meant for people that want the latest new features in the development branch. I'm working on a proper mac app that wouldn't need to install dependencies, in the next release.

To start off with getting a voxelands-1408.00:next-os.dmg (which is the branch for the next release, where most fixes that didn't make it to the latest stable release gets committed to), you'd need a few more softwares to help. First off, you need Homebrew - The missing package manager for OSX, to install it;

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

After installing brew, you need to install these dependencies (that are in the brew repositories):
  • libpng
  • libvorbis
  • libogg
  • jpeg-turbo
  • gettext
  • irrlicht
  • git
  • cmake
Issue brew install on all of them;

brew install libpng libvorbis libogg jpeg-turbo gettext irrlicht git cmake

That will install the most needed dependencies for Voxelands on Mac OSX. But you will also need the XQuartz - A version of the X.Org X Window System that runs on Mac OSX, Xcode, Command Line Tools for Xcode and you can start compiling.

Get the voxelands source from git first (voxelands' former name was minetest-classic);

git clone https://gitorious.org/minetest-classic/minetest-classic.git

cd minetest-classic

git checkout next

Let's start off with telling cmake - which is the cross-platform, open-source build system that Voxelands uses, about the extra dependencies that we installed via brew (do make sure you supply the correct paths with the versions).

cmake -DIRRLICHT_INCLUDE_DIR=/usr/local/Cellar/irrlicht/1.8.1/include/irrlicht/ \
-DIRRLICHT_LIBRARY=/usr/local/Cellar/irrlicht/1.8.1/lib/libIrrlicht.a \
-DJPEG_INCLUDE_DIR=/usr/local/Cellar/jpeg-turbo/1.3.1/include \
-DJPEG_LIBRARY=/usr/local/Cellar/jpeg-turbo/1.3.1/lib/libturbojpeg.a \
-DBUILD_SERVER=0 -DRUN_IN_PLACE=0 \
-DCUSTOM_GETTEXT_PATH=/usr/local/Cellar/gettext/0.19.2/ \
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
-G Xcode .


It will make a voxelands.xcodeproj inside the git cloned project directory. Then we can build using Xcode commandline tools.

xcodebuild -verbose -project voxelands.xcodeproj -target package

It tells xcodebuild command to build the project with target of package, which makes the .dmg file that we will get in the end, if it successfully compiles.

If you need help or just want to hang out, come onto our IRC channel #voxelands at chat.freenode.net

UPDATED: forgot to add jpeg-turbo as one of the dependencies

No comments:

Post a Comment