User Tools

Site Tools


devel:getting_started_1.15_or_earlier

Differences

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

Link to this comparison view

devel:getting_started_1.15_or_earlier [2015-11-28 23:50] (current)
Line 1: Line 1:
 +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 [[http://​www.gnu.org/​licenses/​gpl.html|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/>​
 +
 +If you do not wish to use the [[http://​www.gnu.org/​licenses/​gpl.html|GPL]] or a compatible license like the [[http://​www.opensource.org/​licenses/​mit-license.php|MIT]],​ [[http://​www.opensource.org/​licenses/​bsd-license.php|New BSD]] or [[http://​www.gnu.org/​licenses/​lgpl.html|LGPL]],​ then we can't accept your contribution.
 +
 +
 +===== Requirements =====
 +
 +
 +Check that Doomsday'​s [[requirements]] are fulfilled.
 +
 +
 +====== Tools needed ======
 +
 +
 +^ Tool^ Windows^ Mac OS X^ Ubuntu |
 +| **Git**| [[http://​code.google.com/​p/​tortoisegit/​|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 [[http://​www.macports.org/​|MacPorts]] or [[http://​mxcl.github.com/​homebrew/​|Homebrew (Intel-only)]].| Available as a package (see distro). |
 +| **qmake**| [[http://​qt.nokia.com|Qt web site]]| qt4-qmake, libqt4-dev |
 +| **Qt Creator** (optional)| [[http://​qt.nokia.com|Qt web site]]| qtcreator |
 +| **Other tools**| | | [[build_tools_for_unix]] |
 +
 +
 +
 +====== Accessing the deng source code repository ======
 +
 +
 +The deng source code is stored in a [[http://​github.com/​skyjake/​Doomsday-Engine|Git repository on GitHub]]. You can browse the contents of the repository by visiting that link.
 +
 +
 +===== About Git =====
 +
 +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:
 +  *  [[http://​git-scm.com/​documentation|Git documentation]]:​ tutorial, introduction for SVN users, user's manual, etc.
 +  *  [[http://​www.youtube.com/​watch?​v=4XpnKHJAok8|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 [[git_repository|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.
 +  user.name=yourname
 +  user.email=your.email@some.domain
 +
 +
 +===== Getting new changes =====
 +
 +To synchronize your copy of the repository with the origin, use the following command:
 +  git pull
 +
 +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:
 +  branch.stable-1.10.remote=origin
 +  branch.stable-1.10.merge=refs/​heads/​stable-1.10
 +
 +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
 +
 +
 +====== Building Doomsday ======
 +
 +
 +//See:// [[compilation]]
 +
 +
 +====== See also ======
 +
 +  *  [[deng_team]]
 +  *  [[developer_guidelines]]
 +  *  [[api_documentation]]
 +
 +
  
devel/getting_started_1.15_or_earlier.txt ยท Last modified: 2015-11-28 23:50 (external edit)