Difference between revisions of "How to build from source"

From OdaWiki
m
(Getting the source)
 
(18 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
=Getting the source=
 
=Getting the source=
 
There are two ways to obtain the source to Odamex:
 
There are two ways to obtain the source to Odamex:
 
+
*[http://odamex.net/ Download] the latest stable version from the official Odamex website,
* [http://odamex.net/ Download] the latest stable version from the official Odamex website
+
*Get the absolute latest modifications through anonymous [[Github]] access, located at https://github.com/odamex/odamex .
* Get the absolute latest modifications through anonymous [[Subversion]] access
+
  
 
=Getting required files=
 
=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.
+
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 client and launcher rely on extra libraries in order to function: SDL2 and SDL2_mixer are required for the client, and wxWidgets 3.0 for the launcher.
  
* [[Required Libraries]]
+
*• See [[Required Libraries]] for details.
  
 
=Compiling Odamex=
 
=Compiling Odamex=
 
You have all the pieces of the puzzle...now it's time to build.
 
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:
+
==Code::Blocks IDE==
 +
Most Odamex developers use Code::Blocks, so there is a specific project file just for that editor.
 +
*• See [[Compiling using Code::Blocks]]
 +
*• See [[Compiling the Launcher using Code::Blocks]]
  
==Windows==
+
==CMake==
===Code::Blocks IDE and MinGW===
+
In most other cases we use CMake to create project files or Makefiles that are tailored to each system.
This is the prefered method of compiling Odamex on Windows.  Code::Blocks project and workspace files are included in the [[Subversion]].
+
*See [[Compiling using CMake]]
* See [[Compiling using Code::Blocks]]
+
  
===MinGW and MSYS===
+
==Outdated==
This method of compiling utilizes the command line to compile OdamexThis is useful if you prefer not to use an IDE.
+
The following build methods no longer exist as of 0.6.1However, if you are building 0.6.0 or earlier, you might be interested in the information below.
* See [[Compiling using MSYS]]
+
*[[Compiling using GCC]]
 
+
*[[Debian package]]
===Microsoft Visual Studio===
+
*[[Compiling using Xcode]]
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.
+
*[[Cross compiling for Windows using MinGW]]
* See [[Compiling using Microsoft Visual Studio]]
+
 
+
===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".
+
* See [[Compiling using GCC]]
+
 
+
=== Installer ===
+
* See [[NSIS]]
+
 
+
==Linux==
+
===GCC===
+
This is the prefered method of compiling Odamex in Linux. Makefiles are included in the [[Subversion]].
+
* See [[Compiling using GCC]]
+
 
+
=== Debian/Ubuntu Package ===
+
* See [[Debian package]]
+
 
+
==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.
+
* See [[Compiling using GCC]]
+
 
+
==OSX==
+
===Xcode===
+
* See [[Compiling using Xcode]]
+
 
+
=Cross compiling=
+
You can build the windows version of odamex on linux:
+
* See [[Cross compiling for Windows using MinGW]]
+
 
+
=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
+
 
+
* See [[Compiling the Launcher using Code::Blocks]]
+
* See [[Compiling the Launcher using GCC]]
+
  
 
=Building odamex.wad=
 
=Building odamex.wad=
This will show you how to build the latest odamex.wad file
+
This will show you how to build the latest odamex.wad file.  This is usually not necessary, as an up-to-date version of odamex.wad is included in the source tree, but here's instructions for how to do it regardless.
 
+
*[[Building odamex.wad using DeuTex]] on multiple platforms
* [[Building odamex.wad using DeuTex]] on multiple platforms
+
 
+
''Note: odamex.wad gets built automatically when using the Makefile
+

Latest revision as of 15:23, 17 January 2019

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:

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 client and launcher rely on extra libraries in order to function: SDL2 and SDL2_mixer are required for the client, and wxWidgets 3.0 for the launcher.

Compiling Odamex

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

Code::Blocks IDE

Most Odamex developers use Code::Blocks, so there is a specific project file just for that editor.

CMake

In most other cases we use CMake to create project files or Makefiles that are tailored to each system.

Outdated

The following build methods no longer exist as of 0.6.1. However, if you are building 0.6.0 or earlier, you might be interested in the information below.

Building odamex.wad

This will show you how to build the latest odamex.wad file. This is usually not necessary, as an up-to-date version of odamex.wad is included in the source tree, but here's instructions for how to do it regardless.