How to build from source

From OdaWiki
Revision as of 22:31, 9 July 2011 by AlexMax (Talk | contribs) (FreeBSD)

Odamex is open source. This means that it is possible to obtain and compile Odamex from source if you so desire. The Odamex team wishes to make this process as painless as possible, therefore detailed instructions for how to build Odamex are provided in this section.

Getting the source

There are two ways to obtain the source to Odamex:

  • Download the latest stable version from the official Odamex website
  • Get the absolute latest modifications through anonymous Subversion access

Getting required files

When you download Odamex, it's almost ready to go, right out of the box. However, you need something to compile it with. In addition, Odamex relies on extra libraries in order to function.

Compiling Odamex

You have all the pieces of the puzzle...now it's time to build.

Depending on what operating system and hardware you are running, you have many options of compilers. Some of the more popular choices are below:

Windows

Code::Blocks IDE and MinGW

This is the prefered method of compiling Odamex on Windows. Code::Blocks project and workspace files are included in the Subversion.

MinGW and MSYS

This method of compiling utilizes the command line to compile Odamex. This is useful if you prefer not to use an IDE.

Microsoft Visual Studio

Odamex currently supports compiling under Microsoft Visual C++ 6.0, and a Visual C++ 6.0 project file is included in Subversion. Support for later versions of Visual Studio is unconfirmed.

Cygwin and GCC

Support for native Cygwin binaries is not supported at this time, though is both feasable and desirable in the future. You can, however, compile Odamex without Cygwin support under Cygwin, with minor adjustments, though this is not considered "Cygwin GCC".

CMake

An experimental CMake build system is available via the bugtracker. As of right now, it is known to create working Microsoft Visual Studio 2010 project files.

Installer

Linux

GCC

This is the prefered method of compiling Odamex in Linux. Makefiles are included in the Subversion.

Debian/Ubuntu Package

CMake

An experimental CMake build system is available via the bugtracker. It uses the same GCC and make that you would use with the standard makefile, however it offers additional support for alternate SDL installations and out-of-source build trees.

FreeBSD

GCC

This is the prefered method of compiling Odamex in FreeBSD. Makefiles are included in Subversion, and should work with the FreeBSD version of GNU Make (gmake) and GCC.

CMake

An experimental CMake build system is available via the bugtracker. It uses the same GCC as the standard makefile, however it generates makefiles that are compatible with BSD make and offers additional support for alternate SDL installations and out-of-source build trees.

OSX

Xcode

Cross compiling

You can build the windows version of odamex on linux:

Compiling the Launcher

So you want to mess around with the Launcher? Here's how to do it.

Note: Versions of FreeBSD (7+) require a change in the launcher Makefile:

  • WXCONFIG = wxgtk2-*.*-config
  • WXRC = wxrc-gtk2-*.*

The *'s indicate the version of wxWidgets you are running

Building odamex.wad

This will show you how to build the latest odamex.wad file

Note: odamex.wad gets built automatically when using the Makefile