author | Wuzzy |
Sat, 08 Apr 2017 16:53:14 +0100 | |
changeset 955 | 9fb2a1738685 |
parent 756 | 03c80807b053 |
child 1079 | 254a4e07216e |
permissions | -rw-r--r-- |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
1 |
#summary Instructions for building Hedgewars on Mac OS X |
117 | 2 |
#labels Phase-Implementation,Phase-Deploy,Phase-Support |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
3 |
|
756 | 4 |
= Building on Mac OS X = |
755 | 5 |
== Prerequisites == |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
6 |
|
271 | 7 |
* XCode must be installed with command line tools |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
8 |
* some knowledge of Terminal is preferred |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
9 |
|
755 | 10 |
==== Notes ==== |
116
1c3643e4f6c5
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
113
diff
changeset
|
11 |
|
117 | 12 |
# it has been reported that Xcode 3.2.6 creates problem when linking frameworks! If you can't use another version, try this: https://discussions.apple.com/thread/2781968?threadID=2781968&tstart=105 |
271 | 13 |
# for Xcode 4 onwards, you need to install the command line tools: open Xcode, go to Preferences, select "Downloads" and install the "Command Line Tools". |
14 |
# for Qt series 4.7, only versions 4.7.0 and 4.7.4 are not suffering from this bug http://bugreports.qt.nokia.com/browse/QTBUG-17333 any other version will not work with online games. |
|
268 | 15 |
# Lion has an incompatible ABI with older version of Freepascal! Use only the new Freepascal version 2.6.0 or newer. See http://bugs.freepascal.org/view.php?id=19269 |
116
1c3643e4f6c5
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
113
diff
changeset
|
16 |
|
755 | 17 |
=== Necessary libraries === |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
18 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
19 |
Download the following libraries and place them under `/Library/Frameworks/` |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
20 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
21 |
* SDL - http://www.libsdl.org/release/SDL-1.2.14.dmg |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
22 |
* SDL_image - http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.10.dmg |
27
6fc5b427224f
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
26
diff
changeset
|
23 |
* SDL_mixer - http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.11.dmg |
335 | 24 |
* SDL_net - http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.8.dmg |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
25 |
* SDL_ttf - http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.10.dmg |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
26 |
* Ogg sources - http://downloads.xiph.org/releases/ogg/libogg-1.2.1.tar.bz2 |
26
1c1ed695c676
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
25
diff
changeset
|
27 |
* Vorbis sources - http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.bz2 |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
28 |
|
755 | 29 |
=== Optional libraries === |
278
eb590870e063
Added Optional Libraries section, containing Sparkle.
drew1313132@gmail.com
parents:
271
diff
changeset
|
30 |
|
eb590870e063
Added Optional Libraries section, containing Sparkle.
drew1313132@gmail.com
parents:
271
diff
changeset
|
31 |
The following libraries are optional: |
eb590870e063
Added Optional Libraries section, containing Sparkle.
drew1313132@gmail.com
parents:
271
diff
changeset
|
32 |
* Sparkle (auto-updater) - http://sparkle.andymatuschak.org/files/Sparkle%201.5b6.zip |
eb590870e063
Added Optional Libraries section, containing Sparkle.
drew1313132@gmail.com
parents:
271
diff
changeset
|
33 |
|
755 | 34 |
==== Compiling Ogg Vorbis ==== |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
35 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
36 |
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. |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
37 |
|
108
c2f5407f8c19
Edited wiki page BuildingOnMac through web user interface.
henrik.rostedt@gmail.com
parents:
104
diff
changeset
|
38 |
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. Go into "Project"->"Edit Project Settings", under "Build" set Architectures to Standard and Base SDK to 10.5 (otherwise newer). |
c2f5407f8c19
Edited wiki page BuildingOnMac through web user interface.
henrik.rostedt@gmail.com
parents:
104
diff
changeset
|
39 |
|
c2f5407f8c19
Edited wiki page BuildingOnMac through web user interface.
henrik.rostedt@gmail.com
parents:
104
diff
changeset
|
40 |
After that build as usual and copy the generated framework to the usual `/Library/Frameworks/` directory. |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
41 |
|
755 | 42 |
==== (Optional) Server ==== |
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
43 |
|
104
6ce496fecb0c
updated (removed references to ghc deps and bundle macro)
vittorio.giovara@gmail.com
parents:
91
diff
changeset
|
44 |
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. |
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
45 |
|
110
e2dfaa09f48a
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
109
diff
changeset
|
46 |
* download the Haskell Platform and install both the GHC and Haskell Platform - http://lambda.galois.com/hp-tmp/2011.2.0.1/Haskell%20Platform%202011.2.0.1-i386.pkg |
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
47 |
* run `cabal update` to get an updated list of available libraries and install the necessary dependencies with |
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
48 |
{{{ |
104
6ce496fecb0c
updated (removed references to ghc deps and bundle macro)
vittorio.giovara@gmail.com
parents:
91
diff
changeset
|
49 |
sudo cabal install gameServer/hedgewars-server.cabal |
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
50 |
}}} |
112
e8e280ef6c23
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
111
diff
changeset
|
51 |
* _(even more optional)_ if you feel experimental, you can also try to use the 64bit variant of Haskell, just make sure that your `~/.cabal/` directory doesn't conflict with previous installations - http://lambda.galois.com/hp-tmp/2011.2.0.1/Haskell%20Platform%202011.2.0.1-x86_64.pkg |
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
52 |
|
755 | 53 |
=== Necessary tools === |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
54 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
55 |
Download and install the following toolchains |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
56 |
|
268 | 57 |
* Freepascal compiler - http://sourceforge.net/projects/freepascal/files/Mac%20OS%20X/2.6.0/ |
58 |
* CMake - http://www.cmake.org/files/v2.8/cmake-2.8.10.2-Darwin64-universal.dmg |
|
270 | 59 |
* QT - http://qt-project.org/downloads |
60 |
* note that for compiling the 64 bit version you need download the `cocoa` version of QT |
|
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
61 |
|
755 | 62 |
== Building process == |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
63 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
64 |
* download the source tarball or clone the hg repo |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
65 |
* configure the sources with the following line |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
66 |
{{{ |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
67 |
cmake . -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake -DCMAKE_BUILD_TYPE=Release |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
68 |
}}} |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
69 |
* run `make` and `make install` |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
70 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
71 |
Enjoy! |