author | Wuzzy |
Thu, 15 Mar 2018 14:23:08 +0000 | |
changeset 1265 | 06c10a954ff2 |
parent 1080 | 01583db406ff |
child 1497 | 7a5b840a3dd4 |
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 |
|
1079 | 21 |
* SDL - http://www.libsdl.org/release/ |
22 |
* SDL_image - http://www.libsdl.org/projects/SDL_image/release/ |
|
23 |
* SDL_mixer - http://www.libsdl.org/projects/SDL_mixer/release/ |
|
24 |
* SDL_net - http://www.libsdl.org/projects/SDL_net/release/ |
|
25 |
* SDL_ttf - http://www.libsdl.org/projects/SDL_ttf/release/ |
|
26 |
* Ogg sources - http://downloads.xiph.org/releases/ogg/ |
|
27 |
* Vorbis sources - http://downloads.xiph.org/releases/vorbis/ |
|
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
28 |
|
1080 | 29 |
See [Dependencies] for the required versions. |
30 |
||
755 | 31 |
=== Optional libraries === |
278
eb590870e063
Added Optional Libraries section, containing Sparkle.
drew1313132@gmail.com
parents:
271
diff
changeset
|
32 |
|
eb590870e063
Added Optional Libraries section, containing Sparkle.
drew1313132@gmail.com
parents:
271
diff
changeset
|
33 |
The following libraries are optional: |
1079 | 34 |
* Sparkle (auto-updater) - https://github.com/sparkle-project/Sparkle/releases/latest |
278
eb590870e063
Added Optional Libraries section, containing Sparkle.
drew1313132@gmail.com
parents:
271
diff
changeset
|
35 |
|
755 | 36 |
==== Compiling Ogg Vorbis ==== |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
37 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
38 |
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
|
39 |
|
108
c2f5407f8c19
Edited wiki page BuildingOnMac through web user interface.
henrik.rostedt@gmail.com
parents:
104
diff
changeset
|
40 |
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
|
41 |
|
c2f5407f8c19
Edited wiki page BuildingOnMac through web user interface.
henrik.rostedt@gmail.com
parents:
104
diff
changeset
|
42 |
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
|
43 |
|
755 | 44 |
==== (Optional) Server ==== |
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
45 |
|
104
6ce496fecb0c
updated (removed references to ghc deps and bundle macro)
vittorio.giovara@gmail.com
parents:
91
diff
changeset
|
46 |
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
|
47 |
|
1079 | 48 |
* Download the Haskell Platform and install both the GHC and Haskell Platform - https://www.haskell.org/downloads#platform |
49 |
* Run `cabal update` to get an updated list of available libraries and install the necessary dependencies with |
|
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
50 |
{{{ |
104
6ce496fecb0c
updated (removed references to ghc deps and bundle macro)
vittorio.giovara@gmail.com
parents:
91
diff
changeset
|
51 |
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
|
52 |
}}} |
1079 | 53 |
* _(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 |
33
397cb8bbddde
Edited wiki page BuildingOnMac through web user interface.
vittorio.giovara@gmail.com
parents:
27
diff
changeset
|
54 |
|
755 | 55 |
=== Necessary tools === |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
56 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
57 |
Download and install the following toolchains |
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
58 |
|
1079 | 59 |
* Freepascal compiler - https://sourceforge.net/projects/freepascal/files/Mac%20OS%20X/ |
60 |
* CMake - https://cmake.org/download/ |
|
61 |
* Qt - https://www1.qt.io/download/ |
|
62 |
* 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
|
63 |
|
755 | 64 |
== Building process == |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
65 |
|
1079 | 66 |
* Download the source tarball or clone the Mercurial repo |
67 |
* Configure the sources with the following line |
|
25
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 |
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
|
70 |
}}} |
1079 | 71 |
* Run `make` and `make install` |
25
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
72 |
|
4f6f055c0848
Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff
changeset
|
73 |
Enjoy! |