BuildingOnMac.wiki
author RedGrinner@gmail.com
Thu, 24 Mar 2011 13:03:30 +0000
changeset 99 983ec9ac63c7
parent 91 8fe945760f91
child 104 6ce496fecb0c
permissions -rw-r--r--
Added a non-exhaustive list of examples for further applications of SetHealth()

#summary Instructions for building Hedgewars on Mac OS X
#labels Phase-Deploy

= Prerequisites =

  * XCode must be installed
  * some knowledge of Terminal is preferred

== Necessary Libraries ==

Download the following libraries and place them under `/Library/Frameworks/`

  * SDL - http://www.libsdl.org/release/SDL-1.2.14.dmg
  * SDL_image - http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.10.dmg
  * SDL_mixer - http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.11.dmg
  * SDL_net - http://dl.dropbox.com/u/24468/SDL_net.framework.zip
  * SDL_ttf - http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.10.dmg
  * Ogg sources - http://downloads.xiph.org/releases/ogg/libogg-1.2.1.tar.bz2
  * Vorbis sources - http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.bz2

=== Compiling Ogg Vorbis ===

Since there is no framework distribution for ogg vorbis libraries, we will need to compile our own. Extract the sources and open the relative .xcodeproj file.

It is likely that you will need to adjust some parameters, such as the Base SDK you have installed and for which architecture (ppc, i386, x86_64) you want to build. After that build as usual and copy the generated framework to the usual `/Library/Frameworks/` directory.

=== (Optional) Server ===

If you want to compile server for hosting lan games, you need to download a Haskell compiler. We are going to use the Glasgow Haskell Compiler.

  * download the Haskell Platform and install both the GHC and Haskell Platform - http://lambda.galois.com/hp-tmp/2010.2.0.0/haskell-platform-2010.2.0.0.i386.dmg
  * run `cabal update` to get an updated list of available libraries and install the necessary dependencies with
{{{
sudo cabal install dataenc hslogger network-bytestring utf8-string
}}}
  * then in the following cmake comand, remember to add `-DWITH_SERVER=1` or `-DBUNDLE`

== Necessary Tools ==

Download and install the following toolchains

  * Freepascal compiler - http://sourceforge.net/projects/freepascal/files/Mac%20OS%20X/2.4.0/fpc-2.4.0.intel-macosx.dmg/download
  * CMake - http://www.cmake.org/files/v2.8/cmake-2.8.3-Darwin-universal.dmg
  * QT - http://download.qt.nokia.com/qtsdk/qt-sdk-mac-opensource-2010.05.dmg
  * note that for compiling the 64 bit version you need download the cocoa version of QT

= Building process =

  * download the source tarball or clone the hg repo
  * configure the sources with the following line
{{{
cmake . -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake -DCMAKE_BUILD_TYPE=Release
}}}
  * (optional) if you want to build a relocatable bundle, that is a bundle you can copy on your friend's mac or distribute it, add `-DBUNDLE` to the above command line
  * (note) if you specify `-DBUNDLE` you'll need to install GHC as well
  * run `make` and `make install`

Enjoy!