MG/Mac Compiling

This page explains how to compile MegaGlest on a Mac computer.

Prerequisites

 * XCode
 * CMake
 * Various 3rd party build dependencies

Dependencies
Dependencies can be installed in two ways: or
 * Retrieve the build dependencies / 3rd party libraries and extract the contents of the archive in your library directory ~/Library/Frameworks
 * Install them using a 3rd party package manager like |MacPorts or [www.finkproject.org/ |Fink].

In this example I show how to install the packages with MacPorts which will handle the install of dependencies, and there is a lot of them. Full dependency lists are available on Linux Compiling or FreeBSD Compiling if you would like to install them manually.

sudo port install git cmake VLC-devel fribidi ftgl glew wxWidgets-2.8 wxgtk-2.8

Preparing to compile
However you choose to compile you will need to use Git to check out the MegaGlest source code ready for building.

Compiling
This can be done in two ways: Using an XCode project or GNU Make

XCode project
cmake -GXcode xcodebuild -configuration Release cpack -C CPackConfig.cmake
 * Generate the XCode project
 * Build everything for Release (This is case sensitive)
 * Generate the installer
 * You should have a megaglest-#.dmg file in your current directory. You can install this and play it.

GNU Make
Configure without map editor and produce a binary able to be executed for testing then build with gnumake cmake -G"Unix Makefiles" -DBUILD_MEGAGLEST_MAP_EDITOR=OFF -DWANT_DEV_OUTPATH=ON && gnumake

Before running make sure you move the megaglest binaries to mk/macosx and move glest-dev.ini in to the same directory as the binaries. mv data/glest_game/megaglest* mk/macosx/ mv mk/linux/*.ini mk/macosx/

Run it with open -F ./mk/macosx/megaglest

wxWidgets
If you encounter problems with wxWidgets executable being undiscoverable you may need to set the path in CMakeLists.txt yourself SET(wxWidgets_CONFIG_EXECUTABLE "/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxGTK/2.8/bin/wx-config" CACHE STRING "FULL path to wx-widgets config binary")
 * 1) Define path to wxWidgets_CONFIG_EXECUTABLE