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]] | ||
+ | |||
+ | |||