This shows you the differences between two versions of the page.
| — | devel:getting_started_1.15_or_earlier [2015-11-28 21:50] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| 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. | ||
| + | |||
| + | 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. | ||
| + | * 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 < | ||
| + | |||
| + | If you do not wish to use the [[http:// | ||
| + | |||
| + | |||
| + | ===== Requirements ===== | ||
| + | |||
| + | |||
| + | Check that Doomsday' | ||
| + | |||
| + | |||
| + | ====== Tools needed ====== | ||
| + | |||
| + | |||
| + | ^ Tool^ Windows^ Mac OS X^ Ubuntu | | ||
| + | | **Git**| [[http:// | ||
| + | | **qmake**| [[http:// | ||
| + | | **Qt Creator** (optional)| [[http:// | ||
| + | | **Other tools**| | | [[build_tools_for_unix]] | | ||
| + | |||
| + | |||
| + | |||
| + | ====== Accessing the deng source code repository ====== | ||
| + | |||
| + | |||
| + | The deng source code is stored in a [[http:// | ||
| + | |||
| + | |||
| + | ===== 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:// | ||
| + | * [[http:// | ||
| + | |||
| + | |||
| + | ===== 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:// | ||
| + | |||
| + | 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 // | ||
| + | branch.master.remote=origin | ||
| + | branch.master.merge=refs/ | ||
| + | remote.origin.url=https:// | ||
| + | remote.origin.fetch=+refs/ | ||
| + | |||
| + | You may find it convenient to set a default branch for pulling changes: | ||
| + | git config pull.default tracking | ||
| + | |||
| + | The options // | ||
| + | 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/ | ||
| + | |||
| + | 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/ | ||
| + | |||
| + | 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]] | ||
| + | |||
| + | |||