User Tools

Site Tools


devel:compiling_and_running_2.0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
devel:compiling_and_running_2.0 [2021-09-01 05:36] skyjakedevel:compiling_and_running_2.0 [2021-09-01 05:37] (current) skyjake
Line 1: Line 1:
 +====== Compiling and running Doomsday 2.0–2.3 with CMake ======
  
 +Doomsday 2 is built with [[https://cmake.org|CMake]] 3.1 (or later).
 +
 +===== Get the source =====
 +
 +There are a couple of ways to get the source code:
 +
 +  * Download a [[http://dengine.net/source|source package]]. 
 +  * Check out the [[https://github.com/skyjake/Doomsday-Engine|Doomsday-Engine]] repository from GitHub: <code bash>git clone --recursive https://github.com/skyjake/Doomsday-Engine</code> You can then switch to any release or a specific build via tags. Stable releases are tagged "release-x.y.z".
 +
 +===== Install dependencies =====
 +
 +The following libraries are required for compilation:
 +
 +  * Qt 5 (modules: Core, Network, Gui, OpenGLExtensions, Widgets)
 +  * Qt 5 X11Extras module (on Unix/X11)
 +  * DirectX (on Windows)
 +
 +The following are optional:
 +
 +  * SDL 2 (joystick support)
 +  * SDL_mixer 2 (audio plugin)
 +  * FMOD Studio Low-Level Programmer API for Doomsday 2.1+, or FMOD Ex for  Doomsday 2.0 or earlier (audio plugin)
 +  * OpenAL (audio plugin)
 +  * libXrandr and libXxf86vm (X11 display mode support)
 +
 +===== Create build directory =====
 +
 +You must create a separate directory that is used for the build files. In-tree builds are not supported.
 +===== Build and deploy =====
 +
 +After the dependencies are available, run CMake and configure the appropriate build variables. The following variables are noteworthy:
 +
 +  * Normally you will want to set the ''CMAKE_BUILD_TYPE'' to "Release". Note that with gcc/clang, omitting this variable will result in an unoptimized build.
 +  * Set the ''DE_PREFIX'' variable to define the installation root path.
 +  * Set the ''QMAKE'' variable to the path of the qmake tool to use (unless autodetected). This determines which version of Qt will be used in the build.
 +  * ''DENG_ENABLE_*'' are used for enabling and disabling Doomsday features.
 +  * ''*_DIR'' (e.g., ''FMOD_DIR'') are used for configuring locations of third-party libraries.
 +
 +When CMake has configured the build successfully, run your chosen build tool.
 +
 +After building, you must still deploy the binaries (e.g., using ''make install'') because Doomsday expects a particular runtime directory layout.