User Tools

Site Tools


Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
general:developer_faq [2012-11-02 12:45]
Carsten Added FAQ about VS project/solution files.
general:developer_faq [2017-02-06 11:43] (current)
Carsten [How can I clone the Cafu source code repository?]
Line 25: Line 25:
 This build process is a challenge in its own right, because it must work This build process is a challenge in its own right, because it must work
   * on all supported platforms (currently Windows and Linux, soon MacOS, too),   * on all supported platforms (currently Windows and Linux, soon MacOS, too),
-  * with several compilers,+  * with several compilers ​(and several versions of each),
   * in several variants (32- and 64-bit; debug, profile and release),   * in several variants (32- and 64-bit; debug, profile and release),
-  * possibly ​in multiple combinations of the above on the same computer,+  * possibly ​with multiple combinations of the above, simultaneously ​on the same computer
 +  * with all external libraries,
   * in changing environments (e.g. variable number of game libraries),   * in changing environments (e.g. variable number of game libraries),
   * flexibly, robustly and easily configurable for our fellow developers and users.   * flexibly, robustly and easily configurable for our fellow developers and users.
Line 33: Line 34:
 Achieving these goals with Visual Studio solution files on Windows (and possibly Makefiles on Linux) is a maintenance nightmare that borders on the impossible. For these reasons, we have chosen to use [[http://​www.scons.org/​|SCons]] as the build system for the Cafu Engine. SCons meets the above requirements,​ and it can still be used automatically and conveniently from most [[cppdev:​ides]]. Achieving these goals with Visual Studio solution files on Windows (and possibly Makefiles on Linux) is a maintenance nightmare that borders on the impossible. For these reasons, we have chosen to use [[http://​www.scons.org/​|SCons]] as the build system for the Cafu Engine. SCons meets the above requirements,​ and it can still be used automatically and conveniently from most [[cppdev:​ides]].
  
-Alas, we realize that having true Visual Studio project and solution files (and similar native files for other platforms) would still be nice to have. We therefore started looking into these programs:+Alas, we realize that having true Visual Studio project and solution files (and similar native files for other IDEs) would still be nice to have. We therefore started looking into these programs:
   * [[http://​industriousone.com/​premake|Premake]]   * [[http://​industriousone.com/​premake|Premake]]
   * [[https://​github.com/​vslavik/​bakefile|Bakefile]]   * [[https://​github.com/​vslavik/​bakefile|Bakefile]]
Line 51: Line 52:
  
  
-===== How do locally ​clone the Cafu source code repository? =====+===== How can I clone the Cafu source code repository? =====
  
-When you start working with Cafu, picking up the source code from a compressed archive or from the Subversion ​repository is sometimes not enough: +/* We have recently completed our migration ​from Subversion to Git (detailed report[[http://forum.cafu.de/viewtopic.php?​f=14&​t=1090|Part 1]], [[http://forum.cafu.de/viewtopic.php?​f=14&​t=1092|Part 2]])*/
- +
-Many developers prefer ​to manage their project in their own version control system, but also wish to integrate the latest changes ​(e.g. bug-fixes and new features) from the official Cafu repository into theirs from time to time. The synchronization of the projects code with the original Cafu source code should be as convenient and automatic as possible. +
- +
-One way to achieve this is to use Git: +
-  * http://git-scm.com/ +
-  * http://progit.org/book/ch8-1.html +
- +
-Our plan is to provide an official Cafu Git repository at a later timeUntil then, you can use ''​git svn'',​ a very good bridge between Git and Subversion. This tool allows you to use Git for your own project and at the same time pull changes from the official Cafu Subversion repository. +
- +
-This set of commands imports the entire Cafu Subversion repository into a local Git repository:+
  
 +You can /*now*/ clone the Cafu source code repository like this:
 <code bash> <code bash>
-> git --version +> git clone --recursive ​https://bitbucket.org/cafu/cafu.git Cafu
-git version 1.7.9.msysgit.0 +
- +
-> type authors.txt ​   # You have to create this file in a text editor! +
-Carsten = Carsten Fuchs <​carsten.fuchs@cafu.de>​ +
- +
-> git svn clone "https://srv7.svn-repos.de/dev123/​projects/cafu" -s --authors-file=authors.txt cafu_git ​+
 </​code>​ </​code>​
-Please refer to the Git documentation for more details. 
-See [[http://​www.cafu.de/​forum/​viewtopic.php?​f=6&​t=1081|this forum post]] for Cafu on GitHub. 
  
 +Also see [[cppdev:​gettingstarted]] for more details and https://​bitbucket.org/​cafu/​cafu,​ where you can browse the repository online, create forks, submit pull requests, and find additional help texts.
  
 ===== How do I start a new game (MOD) project? ===== ===== How do I start a new game (MOD) project? =====
general/developer_faq.1351856750.txt.gz · Last modified: 2013-01-07 12:07 (external edit)