Social Media

  • Facebook
  • Google+

Latest Posts

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.

If you want to use Clang, which comes bundled with Xcode, we only need to install the dependencies.

$ brew install boost bzrtools 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 also strongly suggested.

$ brew install ccache

Then install all the dependencies of Widelands:

$ brew install bzrtools 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. If you only want to build Widelands without changing much you can try:

$ bzr checkout --lightweight lp:widelands wl_bzr

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
$ cd build_wl/
$ cp wl_bzr/utils/macos/build_app.sh .

Now we are ready to compile Widelands.

  • for Clang

    $ ./build_app.sh clang release ../wl_bzr/
    
  • for GCC

    $ ./build_app.sh gcc release ../wl_bzr/
    

If you wish to build the Debug version run either of these commands:

  • for Clang

    $ ./build_app.sh clang debug ../wl_bzr/
    
  • for GCC

    $ ./build_app.sh gcc debug ../wl_bzr/
    

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.