User Tools

Site Tools



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

Link to this comparison view

Both sides previous revision Previous revision
devel:compiling_and_running [2018-12-15 22:15]
skyjake [Get the source]
devel:compiling_and_running [2019-11-17 18:32]
skyjake [Compiling and running Doomsday 2.0 and 2.1 with CMake]
Line 1: Line 1:
 +====== Compiling and running Doomsday 2.0–2.2 with CMake ======
 +Doomsday 2 is built with [[https://​|CMake]] 3.1 (or later).
 +===== Get the source =====
 +There are a couple of ways to get the source code:
 +  * Download a [[http://​​source|source package]]. ​
 +  * Check out the [[https://​​skyjake/​Doomsday-Engine|Doomsday-Engine]] repository from GitHub: <code bash>git clone --recursive https://​​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.
 +  * 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 ''​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.
devel/compiling_and_running.txt · Last modified: 2019-11-17 18:32 by skyjake