Getting started (1.15 or earlier)
This article helps you to get started on software development with the Doomsday Engine.
Before you begin
It is important to understand, that Doomsday is an open source project. Doomsday is licensed under the GNU GPL v2 or later license.
To further that goal, we ask that all contributions use the following license:
* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see <http://www.gnu.org/licenses/>
Check that Doomsday's requirements are fulfilled.
|Tool||Windows||Mac OS X||Ubuntu|
|Git||TortoiseGit is a nice Git client for Windows. It integrates with the Windows shell.||Git should be installed along with Xcode, but you can also get it from MacPorts or Homebrew (Intel-only).||Available as a package (see distro).|
|qmake||Qt web site||qt4-qmake, libqt4-dev|
|Qt Creator (optional)||Qt web site||qtcreator|
|Other tools||Build tools for Unix|
Accessing the deng source code repository
The deng source code is stored in a Git repository on GitHub. You can browse the contents of the repository by visiting that link.
Git is an advanced distributed version control system. Before you do anything else, you should familiarize yourself with its basic functionality and operating principles. These should get you started:
- Git documentation: tutorial, introduction for SVN users, user's manual, etc.
- Linus Torvard's talk about Git at Google
Setting up a working copy
To get a copy of the Doomsday source files to your own computer, you will first need to set up your working copy of the deng repository. With Git being a distributed version control system, every working copy is actually a full, independent copy of the entire repository. Once you have your working copy set up, it will be configured to fetch changes from the GitHub Doomsday-Engine repository.
The first thing you will need to is to clone the deng repository:
git clone https://github.com/skyjake/Doomsday-Engine.git name-of-your-working-copy
This will download the full repository (about 200MB) from GitHub, so it may take a while.
Next, you should make sure your repository configuration is good. To see all your Git configuration settings, type:
git config -l
Your master branch should be tracking origin's (= the GitHub repository) master branch:
branch.master.remote=origin branch.master.merge=refs/heads/master remote.origin.url=https://github.com/skyjake/Doomsday-Engine.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
You may find it convenient to set a default branch for pulling changes:
git config pull.default tracking
The options user.name and user.email should be set if you are going to commit changes to your repository.
Getting new changes
To synchronize your copy of the repository with the origin, use the following command:
This will fetch the new changes from the deng repository and merge them to your working copy.
Switching to another branch
Say you want to work on another branch, e.g., stable-1.10. You will first need to create a local branch that tracks the changes of the stable-1.10 branch in the deng repository:
git checkout -t -b stable-1.10 origin/stable-1.10
This will also automatically switch to the new branch. In the config you now see:
This means your stable-1.10 is tracking the one in the origin repository.
Now you can switch between your branches with:
git checkout master git checkout stable-1.10