This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
devel:compiling_and_running_1.15_or_earlier_qmake [2017-03-15 07:03] – skyjake | devel:compiling_and_running_1.15_or_earlier_qmake [2017-08-31 14:32] (current) – [SDK requirements (1.15+)] skyjake | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Compiling and running (1.15 or earlier, qmake) ====== | ||
+ | |||
+ | This article contains compilation instructions for all [[: | ||
+ | |||
+ | ===== Getting started ===== | ||
+ | |||
+ | You should first read the [[getting_started]] page. | ||
+ | |||
+ | Regardless of which platform is being used, you'll need to install the [[http:// | ||
+ | |||
+ | ===== SDK requirements (1.15) ===== | ||
+ | |||
+ | |||
+ | ==== Doomsday client, server, and libraries ==== | ||
+ | |||
+ | |||
+ | **Windows** | ||
+ | |||
+ | The compiler we use on Windows is [[http:// | ||
+ | * [[http:// | ||
+ | * SDL 2.0 and SDL_mixer 2.0. Download these from http:// | ||
+ | * [[direct_x]] 9.0 or later. The SDK can be downloaded from [[http:// | ||
+ | * [[http:// | ||
+ | * [[eax]] 2.0. Used for environmental sound effects such as reverb. EAX 3.0 may work as well but hasn't been tested. The SDK used to be available on [[http:// | ||
+ | |||
+ | **Mac OS X** | ||
+ | |||
+ | * [[http:// | ||
+ | * The '' | ||
+ | |||
+ | **Unix** | ||
+ | |||
+ | xxf86vm, xrandr, curses, sdl2, libqt4-dev (although Qt 5 recommended) | ||
+ | |||
+ | See also: [[build_tools_for_unix]] | ||
+ | |||
+ | |||
+ | ==== Plugins ==== | ||
+ | |||
+ | |||
+ | **audio_fluidsynth plugin** | ||
+ | |||
+ | * libfluidsynth-dev (unless using the embedded synthesizer under **external**) | ||
+ | * OS X: pkg-config and glib (e.g., from [[http:// | ||
+ | |||
+ | **audio_fmod plugin** | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | **audio_openal plugin** | ||
+ | |||
+ | * [[open_al]] 1.1 SDK, if you want to build the [[audio_openal]] audio driver. The SDK can be downloaded from [[http:// | ||
+ | |||
+ | |||
+ | ===== Building with Qt Creator ===== | ||
+ | |||
+ | |||
+ | - Open **doomsday.pro** in Qt Creator. This is the main project file that builds everything. You can also open one of the .pro files in the subdirectories to build a specific component. Note, however, that most require the Doomsday 2 libraries (libcore, libgui, libappfw, libshell) and liblegacy . | ||
+ | - Check your **config_user.pri**. It is for build options specific to your system and/or personal preferences, | ||
+ | - Go to Projects → Desktop :: Build :: Build Steps. Here you can configure how qmake is run by the IDE, if you wish to specify additional options (e.g., '' | ||
+ | - Build → Run qmake. Check the output for any error messages. | ||
+ | - //(This step does not apply to Mac OS X.)// Switch to the Run tab. Click on Deployment → Add Deploy Step to add a new Make step. Put " | ||
+ | - Build → Build Project " | ||
+ | |||
+ | |||
+ | ==== Platform-specific notes ==== | ||
+ | |||
+ | === Windows === | ||
+ | |||
+ | * You need to manually specify all 3rd party SDK paths (e.g., FMOD, SDL). Examples have been provided in **config_user-example.pri**. | ||
+ | * Built binaries and other files are deployed under **distrib\products**. The directory structure mirrors the one that is created by the distribution installer. | ||
+ | |||
+ | |||
+ | === Mac OS X === | ||
+ | |||
+ | * You will most likely want to compile using the default Mac OS SDK that matches the version of your operating system. You can do this by adding '' | ||
+ | * The " | ||
+ | |||
+ | |||
+ | === Unix === | ||
+ | |||
+ | * Set the PREFIX in **config_user.pri** or on the qmake command line so the installed files are placed in a suitable location (e.g., " | ||
+ | |||
+ | |||
+ | ===== Running Doomsday under Qt Creator ===== | ||
+ | |||
+ | ==== Windows ==== | ||
+ | |||
+ | - Go to Projects → Desktop :: Run and create a custom Run configuration. | ||
+ | - Set **distrib\products\bin\doomsday.exe** as the executable. | ||
+ | - Set the arguments, e.g. '' | ||
+ | - Set **distrib\products** as the working directory. | ||
+ | |||
+ | |||
+ | ==== Mac OS X ==== | ||
+ | |||
+ | - Set **%{buildDir}/ | ||
+ | - Add options as follows in the Run configuration (modify to suit your needs): '' | ||
+ | - Set **%{buildDir}/ | ||
+ | |||
+ | |||
+ | ==== Unix ==== | ||
+ | |||
+ | - Modify the Run configuration to start the binary from your installed location. Note that the path you specified as the PREFIX was built in to the engine, so it knows to look for the resources by default from that location. You'll still need to specify the game plugin and IWAD file, though. | ||
+ | |||
+ | |||
+ | ===== Compiling manually with qmake ===== | ||
+ | |||
+ | |||
+ | [[qmake]] is a portable compiling system. It works pretty much the same way on all platforms. Brief summary of how to use it: you will need to create an empty directory where the generated binaries and other build files will be stored, and then run qmake from within that directory. For example: | ||
+ | |||
+ | qmake -r ../ | ||
+ | make | ||
+ | make install | ||
+ | |||
+ | |||
+ | ===== Creating a release package ===== | ||
+ | |||
+ | You can use the [[automated build system]] to create and package a build of the Doomsday Engine. The way to do this is to go to the //distrib// directory inside the Doomsday source tree and type this command: | ||
+ | |||
+ | python platform_release.py | ||
+ | |||
+ | It will automatically detect the operating system and create a suitable type of build. The result will appear in the **distrib/ | ||
+ | |||
+ | < | ||
+ | |||