Difference between revisions of "Obtaining the library source from Subversion"

From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
Jump to: navigation, search
(updates paths to SVN)
m (Obsolete for /ALL/ versions IMO)
 
(20 intermediate revisions by 8 users not shown)
Line 1: Line 1:
All the code for CrazyEddie's GUI System (and the layout editor) is kept in a revision control system known as [[Subversion]](SVN). This is a tool that allows us to easily track changes to the code (who did what, and when), to maintain multiple different versions (branches) for the code, and, where necessary, undo, revert, or merge code changes.
+
{{VersionBadge|0.7}} {{VersionBadge|0.6}} {{VersionBadge|0.5}} {{VersionBadge|0.4}}
  
Generally speaking, each stable release series has a seperate branch, and any changes made on those branches are largely bug-fixes and non-breaking (where possible) changes.  The main 'trunk' code is where the latest and greatest code can be found, although this version of the code is generally to be considered as unstable / testing code.  On the whole, we maintain two branches at once; whichever is the latest 'stable' branch, and the main trunk code.  When a new release is made, previous release branches are generally considered obsolete (this will continue at least until we reach version 1.0.0 - at this stage we may consider maintaining support for multiple released versions).
 
  
It is possible to browse the SVN repository online by visiting http://crayzedsgui.svn.sourceforge.net/viewvc/crayzedsgui/cegui_mk2/
 
  
'''NOTE''' that the layout editor is a bit more difficult to get running from sources, so it has its own page dedicated to the process: http://www.cegui.org.uk/wiki/index.php/Getting_Started
 
  
= Getting the Code =
 
To obtain the code you use the Subversion client command 'svn', and the command is to get the trunk code is simply:
 
  
svn co <nowiki>http://crayzedsgui.svn.sourceforge.net/viewvc/crayzedsgui/cegui_mk2/trunk</nowiki> cegui_mk2-trunk
 
  
This will 'checkout' the code from SVN, and place it in the directory 'cegui_mk2-trunk'
 
  
  
 +
{{notice|message=We now use Mercurial so this page can be considered obsolete}}
  
If you want to obtain the latest code in from one of the stable branches, then the command you should issue is:
+
{{notice|message=Much of this information has been incorporated into the official developer documentation, see [http://www.cegui.org.uk/docs/current/downloading.html Obtaining the code] and [http://www.cegui.org.uk/docs/current/compiling.html Supported systems and compilation]}}
  
svn co <nowiki>http://crayzedsgui.svn.sourceforge.net/viewvc/crayzedsgui/cegui_mk2/branches/v0-5</nowiki> cegui_mk2-0-5
+
== Abstract ==
  
This will get you the latest code from the stable 'v0-5' branch (release series 0.5.x), and place it in the directory 'cegui_mk2-0-5'
+
PLEASE note: if you'd rather use precreated releases (tarballs or SDKs), please follow [[Downloads]].
  
---
+
All the code for CrazyEddie's GUI System (and its tools) is kept in a revision control system known as [[Subversion]](SVN). This is a tool that allows us to easily track changes to the code (who did what, and when), to maintain multiple different versions (branches) for the code, and, where necessary, undo, revert, or merge code changes. This page explains the URLs of these repositories.
  
With the [http://tortoisesvn.tigris.org/ Tortoise SVN Client], right-click within a directory and select "SVN Checkout..." from the popup menu.  Specify the "URL of repository" as:  <pre>http://crayzedsgui.svn.sourceforge.net/viewvc/crayzedsgui/cegui_mk2/trunk</pre>
+
== Branches and trunks ==
  
= Compiling =
+
Generally speaking, each stable release series has a seperate branch, and any changes made on those branches are largely bug-fixes and non-breaking (where possible) changes. The main 'trunk', or HEAD, code is where the latest and greatest code can be found, although this version of the code is generally to be considered as unstable / testing code. On the whole, we maintain two branches at once; whichever is the latest 'stable' branch, and the main trunk code. When a new release is made, previous release branches are generally considered obsolete (this will continue at least until we reach version 1.0.0 - at this stage we may consider maintaining support for multiple released versions).
Now that you have the code, you probably want to compile it ;)
+
  
The first thing to do is to run bootstrap, which will run automake, autoconf, and various other tools to initialise the build environment and create the main configure script. If you have problems with bootstrap, make sure you're using a recent version of automake (1.9 is known to work).
+
== Accessing Subversion ==
 +
 
 +
It is possible to browse the SVN repository online by visiting http://crayzedsgui.svn.sourceforge.net/viewvc/crayzedsgui/cegui_mk2/
 +
However, in order to actually compile the code you need to get the sources on your machine. On Linux you'd use the 'svn' command, and on Windows we'd suggest the [http://tortoisesvn.tigris.org/ Tortoise SVN Client] utility, which nicely integrates with your Explorer. Note that the 'svn' command expects the local target directory in the command, where TortoiseSVN expects it in an editbox of its interface. Either way, the URLs mentioned next will be the same. Note the '''s''''s; the repository has a secure URL. Retreiving is always "anonymous", so it should work immediately.
 +
 
 +
== The URLs ==
 +
 
 +
'''From the commandline'''
 +
* ''CEGUI itself'':
 +
** For the current stable version code:<br /><pre>svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/branches/v0-7 cegui_mk2-0-7</pre>
 +
** For the cutting edge, unstable development version code:<br /><pre>svn co <nowiki>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/trunk</nowiki> cegui_mk2-trunk</pre>
 +
 
 +
* ''CEGUI Layout Editor:''
 +
** For the current stable version code:<br /><pre>svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/branches/v0-6-1 LayoutEditor</pre>
 +
** For the cutting edge, unstable development version code:<br /><pre>svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk LayoutEditor</pre>
 +
 
 +
* ''CEGUI Imageset Editor:''
 +
** For the current stable version code:<br /><pre>svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/tags/v0-6-1 ImagesetEditor</pre>
 +
** For the cutting edge, unstable development version code:<br /><pre>svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/trunk ImagesetEditor</pre>
 +
 
 +
'''From TortoiseSVN'''
 +
* ''CEGUI itself:''
 +
** For the current stable version code:<br /><pre>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/branches/v0-7</pre>
 +
** For the cutting edge, unstable development version code:<br /><pre>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/trunk</pre>
 +
* ''CEGUI Layout Editor:''
 +
** For the current stable version code:<br /><pre>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/branches/v-0-6-1</pre>
 +
** For the cutting edge, unstable development version code:<br /><pre>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk</pre>
 +
* ''CEGUI Imageset Editor:''
 +
** For the current stable version code:<br /><pre>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/tags/v0-6-1</pre>
 +
** For the cutting edge, unstable development version code:<br /><pre>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/trunk</pre>
 +
 
 +
== TODO: What's next ==
 +
Now that you have the sources locally available, it's time to compile them. Depending on your OS, please follow one of the following links:
 +
* For Windows, click here: <link here>
 +
* For Linux, click here: <link here>
 +
* For Mac OS, click here: <link here>
 +
 
 +
= Compiling on Windows =
 +
Now that you have the code, you probably want to compile it :)
 +
 
 +
On windows, Premake is used to create project and solution files for different versions of Visual Studio. These files can be found in the directory 'makefiles/premake'. Per supported Visual Studio version there is one batch file for CEGUI itself, and one for the samples. After running a batch file, a corresponding .sln file is written in the same directory, which you can open.
 +
 
 +
= Compiling on Linux =
 +
 
 +
The first thing to do is to run bootstrap, which will run automake, autoconf, and various other tools to initialise the build environment and create the main configure script. If you have problems with bootstrap, make sure you're using a recent version of automake (1.9 is known to work).
  
 
  ./bootstrap
 
  ./bootstrap
  
Now you should be on familiar territorty. To configure the build, run configure:
+
Now you should be on familiar territorty. To configure the build, run configure:
  
 
  ./configure
 
  ./configure
Line 50: Line 87:
 
  make install
 
  make install
  
 +
= Compiling for the Ogre3D Engine / Compiling the OgreRenderer =
 +
 +
[[Building CEGUI for Ogre / OgreRenderer]]
 +
 +
= Documentation =
 +
Since you are using the library from SVN instead of using the precreated packages, you need to get the documentation by yourself. Please follow [[Documentation]].
  
[[User:CrazyEddie|CrazyEddie]] 11:13, 3 April 2006 (PDT)
+
[[Category:HowTo]]

Latest revision as of 10:50, 22 May 2011

Written for CEGUI 0.7


Works with versions 0.7.x (obsolete)

Written for CEGUI 0.6


Works with versions 0.6.x (obsolete)

Written for CEGUI 0.5


Works with versions 0.5.x (obsolete)

Written for CEGUI 0.4


Works with versions 0.4.x (obsolete)





We now use Mercurial so this page can be considered obsolete



Much of this information has been incorporated into the official developer documentation, see Obtaining the code and Supported systems and compilation


Abstract

PLEASE note: if you'd rather use precreated releases (tarballs or SDKs), please follow Downloads.

All the code for CrazyEddie's GUI System (and its tools) is kept in a revision control system known as Subversion(SVN). This is a tool that allows us to easily track changes to the code (who did what, and when), to maintain multiple different versions (branches) for the code, and, where necessary, undo, revert, or merge code changes. This page explains the URLs of these repositories.

Branches and trunks

Generally speaking, each stable release series has a seperate branch, and any changes made on those branches are largely bug-fixes and non-breaking (where possible) changes. The main 'trunk', or HEAD, code is where the latest and greatest code can be found, although this version of the code is generally to be considered as unstable / testing code. On the whole, we maintain two branches at once; whichever is the latest 'stable' branch, and the main trunk code. When a new release is made, previous release branches are generally considered obsolete (this will continue at least until we reach version 1.0.0 - at this stage we may consider maintaining support for multiple released versions).

Accessing Subversion

It is possible to browse the SVN repository online by visiting http://crayzedsgui.svn.sourceforge.net/viewvc/crayzedsgui/cegui_mk2/ However, in order to actually compile the code you need to get the sources on your machine. On Linux you'd use the 'svn' command, and on Windows we'd suggest the Tortoise SVN Client utility, which nicely integrates with your Explorer. Note that the 'svn' command expects the local target directory in the command, where TortoiseSVN expects it in an editbox of its interface. Either way, the URLs mentioned next will be the same. Note the s's; the repository has a secure URL. Retreiving is always "anonymous", so it should work immediately.

The URLs

From the commandline

  • CEGUI itself:
    • For the current stable version code:
      svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/branches/v0-7 cegui_mk2-0-7
    • For the cutting edge, unstable development version code:
      svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/trunk cegui_mk2-trunk
  • CEGUI Layout Editor:
    • For the current stable version code:
      svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/branches/v0-6-1 LayoutEditor
    • For the cutting edge, unstable development version code:
      svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk LayoutEditor
  • CEGUI Imageset Editor:
    • For the current stable version code:
      svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/tags/v0-6-1 ImagesetEditor
    • For the cutting edge, unstable development version code:
      svn co https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/trunk ImagesetEditor

From TortoiseSVN

  • CEGUI itself:
    • For the current stable version code:
      https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/branches/v0-7
    • For the cutting edge, unstable development version code:
      https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/cegui_mk2/trunk
  • CEGUI Layout Editor:
    • For the current stable version code:
      https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/branches/v-0-6-1
    • For the cutting edge, unstable development version code:
      https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk
  • CEGUI Imageset Editor:
    • For the current stable version code:
      https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/tags/v0-6-1
    • For the cutting edge, unstable development version code:
      https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CEImagesetEditor/trunk

TODO: What's next

Now that you have the sources locally available, it's time to compile them. Depending on your OS, please follow one of the following links:

  • For Windows, click here: <link here>
  • For Linux, click here: <link here>
  • For Mac OS, click here: <link here>

Compiling on Windows

Now that you have the code, you probably want to compile it :)

On windows, Premake is used to create project and solution files for different versions of Visual Studio. These files can be found in the directory 'makefiles/premake'. Per supported Visual Studio version there is one batch file for CEGUI itself, and one for the samples. After running a batch file, a corresponding .sln file is written in the same directory, which you can open.

Compiling on Linux

The first thing to do is to run bootstrap, which will run automake, autoconf, and various other tools to initialise the build environment and create the main configure script. If you have problems with bootstrap, make sure you're using a recent version of automake (1.9 is known to work).

./bootstrap

Now you should be on familiar territorty. To configure the build, run configure:

./configure

There are various things you can change about the way the system is built, to get information about these options, pass the --help option to configure like so:

./configure --help

Once configure has run successfully, you need to run make as usual:

make

And finall, install as root:

su  <and enter password ;) >
make install

Compiling for the Ogre3D Engine / Compiling the OgreRenderer

Building CEGUI for Ogre / OgreRenderer

Documentation

Since you are using the library from SVN instead of using the precreated packages, you need to get the documentation by yourself. Please follow Documentation.