Difference between revisions of "MacOS"

From Armagetron
Line 20: Line 20:
 
libxml2 may also be required, but macOS comes with a version already.
 
libxml2 may also be required, but macOS comes with a version already.
  
For a VM for use in a GitLab runner, you also need
+
For macOS Mojave, you will also need
<pre>brew install wget</pre>
+
<pre>brew install python3</pre>
  
 
== Using MacPorts ==
 
== Using MacPorts ==

Revision as of 13:22, 6 March 2021

This page will help you get up and running to hack Armagetron on macOS.

Shortcut

You won't get to hack the source this way, but if you just want a self-compiled version of the game, you can use this Homebrew tap.

Prerequisites

Builds work the same way as on Linux. The build prerequisites can be installed over Homebrew or MacPorts. Our automated builds use Homebrew because its libraries integrate better with the macOS system and are easier to pack into the app bundle. Therefore, if you don't already have one of those on your system, pick Homebrew, you're less likely to run into problems.

All code blocks are to be entered into the terminal.

Using Homebrew

For 0.2.X, use

brew install pkg-config autoconf automake sdl sdl_image

For 0.4, use

brew install pkg-config autoconf automake sdl2 sdl2_image sdl2_mixer protobuf-c glew boost ftgl

You can drop autoconf and automake if you just build from source archives. If you also want to build app bundles and dmgs, add dylibbundler and create-dmg. libxml2 may also be required, but macOS comes with a version already.

For macOS Mojave, you will also need

brew install python3

Using MacPorts

For 0.2.X:

sudo port install libxml2 libsdl libsdl_image

For 0.4:

sudo port install libxml2 libsdl2 libsdl2_image libsdl2_mixer protobuf-c glew boost ftgl

(At testing time, ftgl did not work.)

You'd also need dylibbundler and create-dmg for building dmgs; you'd have to work out yourself how to get it working.

Get source and build

Follow the Linux Instructions for these parts.

Build dmg and app bundle

The Linux installation instructions would give you an installation you can start from the Terminal only. That's not very Apple. So while you're in the build directory, do

sh ./src/macosx/build_bundle.sh

on 0.2.X or

sh ./desktop/os-x/build_bundle.sh 

on 0.4.

This should put a dmg with the app bundle inside and a zip of the app bundle contents into the current directory. If you want them somewhere else, specify the path as build_bundle.sh's optional single argument.

The old way

See Mac OS X. Nobody on the core team has a real Mac any more, so the XCode UI based build has fallen into disrepair. Patches welcome.