Building_Widelands_on_macOS
You will need to install Xcode which is available from the App Store.
In this guide we use Homebrew. If you haven't already, please install it according to the instructions on their website.
Preliminaries
The first step is to choose a compiler. Widelands can be build with GCC or Clang. You have to choose either.
Building with Clang (recommended)
If you want to use Clang, which comes bundled with Xcode, we only need to install the dependencies.
$ brew install boost git cmake doxygen gettext glew graphviz icu4c jpeg libogg libpng libvorbis ninja python sdl2 sdl2_image sdl2_mixer sdl2_ttf zlib
Installing ccache is also strongly suggested. So that incremental builds do not take ages.
$ brew install ccache
Building with GCC
First we need to install GCC.
$ brew install gcc@7
Installing ccache is also strongly suggested.
$ brew install ccache
Then install all the dependencies of Widelands:
$ brew install git cmake doxygen gettext glew graphviz icu4c jpeg libogg libpng libvorbis ninja python sdl2 sdl2_image sdl2_mixer sdl2_ttf zlib
$ brew install --cc=gcc-7 boost
Building Widelands
Now that the compiler and dependencies are installed, we need to check out the source code. An in depth explanation can be found here.
You may want to use build_app.sh. This script is used to make the daily builds for Widelands. It contains all steps that are needed to build Widelands from scratch, make a Widelands.app bundle and package it into a .dmg.
$ mkdir build_wl
$ cp widelands/utils/macos/build_app.sh build_wl/
$ cd build_wl/
Now we are ready to compile Widelands.
-
for Clang
$ ./build_app.sh clang release ../widelands/
-
for GCC
$ ./build_app.sh gcc release ../widelands/
If you wish to build the Debug version run either of these commands:
-
for Clang
$ ./build_app.sh clang debug ../widelands/
-
for GCC
$ ./build_app.sh gcc debug ../widelands/
Changing the compiler
If you should decide to switch your compiler later on, you need to uninstall and install boost again. Otherwise building will fail.
Clang to GCC
$ brew uninstall boost && brew install --cc=gcc-7 boost
GCC to Clang
$ brew uninstall boost && brew install boost
Known Bugs
- It is currently not possible to compile a debug build with GCC and ASan enabled.