<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmuc</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmuc"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/Mmuc"/>
	<updated>2026-06-10T07:07:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48609</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48609"/>
		<updated>2012-04-27T22:30:49Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Directory tree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create this empty for now, subfolders will be created by build process) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: FlightGear / &amp;lt;/tt&amp;gt; (create this empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to a new empty directory (could be anywhere and any name, for example naming it simgear-build, at the same folder location as your unzipped SimGear source folder was put).&lt;br /&gt;
## Press [[File:CMake GUI Configure.png]]. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear from building and others will simply invalidate some options without causing build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press [[File:CMake GUI Configure.png]] again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Click [[File:CMake GUI Add entry.png]] to create a new entry with:&lt;br /&gt;
###* '''Name:''' &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt;&lt;br /&gt;
###* '''Type:''' PATH&lt;br /&gt;
###* '''Value:''' &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Repeat the process from step 5, until [[File:CMake GUI Generate.png]] is enabled.&lt;br /&gt;
## Press [[File:CMake GUI Generate.png]].&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, [[File:CMake GUI Configure.png]] and [[File:CMake GUI Generate.png]].&lt;br /&gt;
## When Visual Studio is able to build everything without errors, right-click on the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project (further down within the &amp;quot;Solution Simgear&amp;quot; solution) and choose Build, which will put the include and lib files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48608</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48608"/>
		<updated>2012-04-27T22:28:16Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: FlightGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to a new empty directory (could be anywhere and any name, for example naming it simgear-build, at the same folder location as your unzipped SimGear source folder was put).&lt;br /&gt;
## Press [[File:CMake GUI Configure.png]]. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear from building and others will simply invalidate some options without causing build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press [[File:CMake GUI Configure.png]] again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Click [[File:CMake GUI Add entry.png]] to create a new entry with:&lt;br /&gt;
###* '''Name:''' &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt;&lt;br /&gt;
###* '''Type:''' PATH&lt;br /&gt;
###* '''Value:''' &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Repeat the process from step 5, until [[File:CMake GUI Generate.png]] is enabled.&lt;br /&gt;
## Press [[File:CMake GUI Generate.png]].&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, [[File:CMake GUI Configure.png]] and [[File:CMake GUI Generate.png]].&lt;br /&gt;
## When Visual Studio is able to build everything without errors, right-click on the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project (further down within the &amp;quot;Solution Simgear&amp;quot; solution) and choose Build, which will put the include and lib files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48607</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48607"/>
		<updated>2012-04-27T22:25:29Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Directory tree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: FlightGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to a new empty directory (could be anywhere and any name, for example naming it simgear-build, at the same folder location as your unzipped SimGear source folder was put).&lt;br /&gt;
## Press [[File:CMake GUI Configure.png]]. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear from building and others will simply invalidate some options without causing build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press [[File:CMake GUI Configure.png]] again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Click [[File:CMake GUI Add entry.png]] to create a new entry with:&lt;br /&gt;
###* '''Name:''' &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt;&lt;br /&gt;
###* '''Type:''' PATH&lt;br /&gt;
###* '''Value:''' &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Repeat the process from step 5, until [[File:CMake GUI Generate.png]] is enabled.&lt;br /&gt;
## Press [[File:CMake GUI Generate.png]].&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, [[File:CMake GUI Configure.png]] and [[File:CMake GUI Generate.png]].&lt;br /&gt;
## When Visual Studio is able to build everything without errors, right-click on the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project and choose Build, to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48606</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48606"/>
		<updated>2012-04-27T22:22:21Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to a new empty directory (could be anywhere and any name, for example naming it simgear-build, at the same folder location as your unzipped SimGear source folder was put).&lt;br /&gt;
## Press [[File:CMake GUI Configure.png]]. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear from building and others will simply invalidate some options without causing build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press [[File:CMake GUI Configure.png]] again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Click [[File:CMake GUI Add entry.png]] to create a new entry with:&lt;br /&gt;
###* '''Name:''' &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt;&lt;br /&gt;
###* '''Type:''' PATH&lt;br /&gt;
###* '''Value:''' &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Repeat the process from step 5, until [[File:CMake GUI Generate.png]] is enabled.&lt;br /&gt;
## Press [[File:CMake GUI Generate.png]].&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, [[File:CMake GUI Configure.png]] and [[File:CMake GUI Generate.png]].&lt;br /&gt;
## When Visual Studio is able to build everything without errors, right-click on the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project and choose Build, to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48603</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48603"/>
		<updated>2012-04-27T22:09:35Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to a new empty directory (could be anywhere and any name, for example naming it simgear-build, at the same folder location as your unzipped SimGear source folder was put).&lt;br /&gt;
## Press [[File:CMake GUI Configure.png]]. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear to build and others will simply invalidate some options without provoking build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press [[File:CMake GUI Configure.png]] again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Click [[File:CMake GUI Add entry.png]] to create a new entry with:&lt;br /&gt;
###* '''Name:''' &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt;&lt;br /&gt;
###* '''Type:''' PATH&lt;br /&gt;
###* '''Value:''' &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Repeat the process from step 5, until [[File:CMake GUI Generate.png]] is enabled.&lt;br /&gt;
## Press [[File:CMake GUI Generate.png]].&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, [[File:CMake GUI Configure.png]] and [[File:CMake GUI Generate.png]].&lt;br /&gt;
## When Visual Studio is able to build everything without errors, right-click on the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project and choose Build, to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48596</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48596"/>
		<updated>2012-04-27T21:32:27Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to a new empty directory (could be anywhere and any name, for example naming it simgear-build, at the same folder location as your unzipped SimGear source folder was put).&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear to build and others will simply invalidate some options without provoking build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Click [[File:CMake GUI Add entry.png]] to create a new entry with:&lt;br /&gt;
###* '''Name:''' &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt;&lt;br /&gt;
###* '''Type:''' PATH&lt;br /&gt;
###* '''Value:''' &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Repeat the process from step 5, until the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button is enabled.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button.&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
## When Visual Studio is able to build everything without errors, build the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48593</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48593"/>
		<updated>2012-04-27T21:14:52Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to an empty directory.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear to build and others will simply invalidate some options without provoking build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Click [[File:CMake GUI Add entry.png]] to create a new entry with:&lt;br /&gt;
###* '''Name:''' &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt;&lt;br /&gt;
###* '''Type:''' PATH&lt;br /&gt;
###* '''Value:''' &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Repeat the process from step 5, until the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button is enabled.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button.&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
## When Visual Studio is able to build everything without errors, build the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48587</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48587"/>
		<updated>2012-04-27T21:00:33Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Directory tree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create these empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
The suggested inputs to cmake are :&lt;br /&gt;
      MSVC_3RDPARTY_ROOT : location of the above directory structure&lt;br /&gt;
      CMAKE_INSTALL_PREFIX : ${MSVC_3RDPARTY_ROOT}/install/msvc100/FlightGear (or any variation for the compiler version described above )&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to an empty directory.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear to build and others will simply invalidate some options without provoking build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Change the &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt; because &amp;lt;tt&amp;gt;C:/Program Files&amp;lt;/tt&amp;gt; is likely unwritable to ordinary Windows users and will integrate better with the above directory structure (this is mandatory for SimGear if you don't want to solve errors by hand).&lt;br /&gt;
## Repeat the process from step 5, until the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button is enabled.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button.&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
## When Visual Studio is able to build everything without errors, build the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48583</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48583"/>
		<updated>2012-04-27T20:35:24Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Building */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
The suggested inputs to cmake are :&lt;br /&gt;
      MSVC_3RDPARTY_ROOT : location of the above directory structure&lt;br /&gt;
      CMAKE_INSTALL_PREFIX : ${MSVC_3RDPARTY_ROOT}/install/msvc100/FlightGear (or any variation for the compiler version described above )&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to an empty directory.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10, (or Visual Studio 10 Win64 for 64 bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear to build and others will simply invalidate some options without provoking build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Change the &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt; because &amp;lt;tt&amp;gt;C:/Program Files&amp;lt;/tt&amp;gt; is likely unwritable to ordinary Windows users and will integrate better with the above directory structure (this is mandatory for SimGear if you don't want to solve errors by hand).&lt;br /&gt;
## Repeat the process from step 5, until the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button is enabled.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button.&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
## When Visual Studio is able to build everything without errors, build the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48567</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=48567"/>
		<updated>2012-04-27T19:17:41Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Directory tree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express]&lt;br /&gt;
* [http://code.google.com/p/msysgit/ msysGit]&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies.&lt;br /&gt;
&lt;br /&gt;
This recommended directory structure is described below. Clicking the links allows you to download pre-built parts (for 3rdParty, make sure to download the right bits version. You need only one of the zips.).&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty] / &amp;lt;/tt&amp;gt; ( includes boost, plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: boost_1_44_0 / &amp;lt;/tt&amp;gt; (included in the 3rdParty package linked above) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90, msvc90-64 or msvc100-64 for VS2008 32, VS2008 64 and VS2010 64 ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/job/OSG-stable-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When building a 64 bits version, use the following structure for the 3dparty tools:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
:: [ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/ 3rdParty.x64] / &amp;lt;/tt&amp;gt; ( 64 bit version ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
The suggested inputs to cmake are :&lt;br /&gt;
      MSVC_3RDPARTY_ROOT : location of the above directory structure&lt;br /&gt;
      CMAKE_INSTALL_PREFIX : ${MSVC_3RDPARTY_ROOT}/install/msvc100/FlightGear (or any variation for the compiler version described above )&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to an empty directory.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button. The first time that the project is configured, CMake will bring up a window asking which compiler you wish to use. Normally just accept CMakes suggestion, and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear to build and others will simply invalidate some options without provoking build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press the &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; button again.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
### Change the &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt; because &amp;lt;tt&amp;gt;C:/Program Files&amp;lt;/tt&amp;gt; is likely unwritable to ordinary Windows users and will integrate better with the above directory structure (this is mandatory for SimGear if you don't want to solve errors by hand).&lt;br /&gt;
## Repeat the process from step 5, until the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button is enabled.&lt;br /&gt;
## Press the &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt; button.&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; (point 4.)&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar[[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, &amp;lt;tt&amp;gt;&amp;quot;Configure&amp;quot;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;quot;Generate&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
## When Visual Studio is able to build everything without errors, build the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project to put the product files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. &lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Windows&amp;diff=48475</id>
		<title>Building FlightGear - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Windows&amp;diff=48475"/>
		<updated>2012-04-26T20:45:31Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* C++ compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UpdateToGit}}&lt;br /&gt;
{{Main article|Building Flightgear}} &lt;br /&gt;
&lt;br /&gt;
'''NOTE: Some parts of these instructions do not work correctly at this time, due to changes in the underlying software libraries.  This page is a work in progress.  The instructions should now be usable for all but building jpeglib and installing FlightGear'''&lt;br /&gt;
&lt;br /&gt;
This section describes how to build [[FlightGear]] on Windows using Visual C++ 2008 Express Edition (the &amp;quot;free&amp;quot; for personal use version). These procedures will be very similar if you have the full Visual Studio 2008 and mostly similar if you're using older versions of Visual C++.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that FlightGear is a large project with external dependencies and compiling it is not a task for novice users. If you just want to fly, we recommend you get the binary distribution and have fun. If you intend to get hip deep in the code, please proceed...&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Before you can compile FlightGear, you need to have the following installed on your computer:&lt;br /&gt;
&lt;br /&gt;
=== C++ compiler ===&lt;br /&gt;
You may [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express download] the Express (&amp;quot;free&amp;quot; for personal use) version of Visual C++ from Microsoft. C++ Builder and Turbo C++ Explorer (by CodeGear, formerly by Borland) should work as well with some effort. We have not tried this.&lt;br /&gt;
&lt;br /&gt;
Please note that when using MSVC++ Express, you'll probably want to download the full '''offline''' installation image file (iso) which -unlike the web installation- doesn't require any complicated and long-winded registration process. The direct link to the latest version (as of 11/2008) is [http://download.microsoft.com/download/E/8/E/E8EEB394-7F42-4963-A2D8-29559B738298/VS2008ExpressWithSP1ENUX1504728.iso] - after having downloaded the iso image, you'll either have to burn it or simply mount it in order to execute the installation.&lt;br /&gt;
&lt;br /&gt;
You will also need the Platform SDK (Software Developer's Kit). &lt;br /&gt;
&lt;br /&gt;
You can download the PSDK from http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&amp;amp;displaylang=en or http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm&lt;br /&gt;
&lt;br /&gt;
Detailed installation instructions are available [http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 here] (and [http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2888051&amp;amp;SiteID=1]).&lt;br /&gt;
&lt;br /&gt;
=== Git ===&lt;br /&gt;
FlightGear uses [[FlightGear Git on Windows|Git]] for hosting the source code. You will need a Git client if you want to download the latest (development) source code for both FlightGear and SimGear. Traditionally, these are command line tools, but msysGit provides a graphic interface for Windows users.  Download the installer for the latest stable version of [http://code.google.com/p/msysgit/downloads/list msysGit], run the installer, using all of its default settings (the installation destination folder is up to you).&lt;br /&gt;
&lt;br /&gt;
=== SVN ===&lt;br /&gt;
OpenSceneGraph (OSG) uses Subversion (SVN) for version control.  You will need an SVN client if you want to use the latest (development) source code for OpenSceneGraph.  TortoiseSVN provides a graphic interface for Windows users.  Download the installer for the latest stable version of [http://tortoisesvn.net/downloads TortoiseSVN], run the installer, using all of its default settings (the installation destination folder is up to you).&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
FlightGear is dependent on quite a number of external libraries.  You do not need to compile all of them yourself, but you will at least need to have their development version installed.&lt;br /&gt;
&lt;br /&gt;
* [http://www.boost.org/users/news/version_1_39_0 Boost 1.39.0]&lt;br /&gt;
* [http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx?RootFolder=%2fopenal%2fDownloads%2fALUT ALut (OpenAL Utility Toolkit)]&lt;br /&gt;
* [http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx OpenAL CoreSDK]&lt;br /&gt;
* [http://sourceware.org/pthreads-win32/ pthreads]&lt;br /&gt;
** The latter 3 are available as one single package by a FlightGear project member&lt;br /&gt;
* [http://www.zlib.net/ zlib]&lt;br /&gt;
* [http://gnuwin32.sourceforge.net/packages/jpeg.htm GnuWin's JpegLib]&lt;br /&gt;
* [[Plib]] - portability libraries and scene graph&lt;br /&gt;
* [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100 Subversion Headers and Libraries] - To get [[TerraSync]] compiled using svn for synchronizing scenery data. Make sure to pick actual &amp;quot;development libraries&amp;quot;&lt;br /&gt;
* [[OpenSceneGraph]]&lt;br /&gt;
* [[SimGear]] - Simulation support libraries that are developed mainly by the same people who develop FlightGear, though it can be and is used for other purposes. If you are building FlightGear from CVS, you need the CVS version of SimGear. If you have strange FlightGear build errors, check that you have an up-to-date version of SimGear built and installed&lt;br /&gt;
&lt;br /&gt;
The dependencies are introduced in the steps below in roughly the order that you will need to get them.&lt;br /&gt;
&lt;br /&gt;
== Directory Structure ==&lt;br /&gt;
&lt;br /&gt;
As noted above, FlightGear depends on several other software packages. The Visual C++ project files that are maintained in CVS for both SimGear and FlightGear assume that these dependencies can be found within a very specific directory structure. In these examples, the root of the FlightGear related directories is '''C:\FlightGear\'''. This part is actually up to you; you could choose a completely different name and drive location.&lt;br /&gt;
&lt;br /&gt;
All other directories shown under this project root must follow the directory structure shown below:&lt;br /&gt;
&lt;br /&gt;
  C:\FlightGear\boost_1_39_0\&lt;br /&gt;
  C:\FlightGear\simgear\&lt;br /&gt;
  C:\FlightGear\simgear\simgear\&lt;br /&gt;
  C:\FlightGear\install\msvc90\OpenSceneGraph\include\&lt;br /&gt;
  C:\FlightGear\3rdParty\include\&lt;br /&gt;
  C:\FlightGear\plib&lt;br /&gt;
  C:\FlightGear\flightgear&lt;br /&gt;
&lt;br /&gt;
If you continue to follow the instructions in this wiki, you will end with the proper directory structure that is shown above.&lt;br /&gt;
&lt;br /&gt;
== Getting '''Boost 1.39.0''' ==&lt;br /&gt;
&lt;br /&gt;
* '''Step 1''' - Download Boost packaged release Version 1.39.0 (about 188 MB) from&lt;br /&gt;
http://sourceforge.net/projects/boost/files/boost/1.39.0/boost_1_39_0.zip/download (direct link) or from the project releases page at http://www.boost.org/users/download/#releases&lt;br /&gt;
&lt;br /&gt;
* '''Step 2''' - Extract the contents of the boost archive in your '''\FlightGear''' directory. This will create a subdirectory named '''boost_1_39_0''' where the boost libraries and include files reside.&lt;br /&gt;
&lt;br /&gt;
== Getting &amp;quot;3rdParty&amp;quot; ALut, OpenAL and pthreads ==&lt;br /&gt;
&lt;br /&gt;
Olaf Flebbe has provided an archive containing the following FlightGear dependencies:&lt;br /&gt;
&lt;br /&gt;
  ALut&lt;br /&gt;
  OpenAL&lt;br /&gt;
  pthreads&lt;br /&gt;
&lt;br /&gt;
Download the archive from http://www.oflebbe.de/FlightGear/3rdParty-2008-01-30.zip&lt;br /&gt;
&lt;br /&gt;
Extract the archive in your FlightGear project root directory, '''C:\FlightGear\''' in these instructions.  This will create the directory '''3rdParty''' under your project root directory.&lt;br /&gt;
&lt;br /&gt;
== Getting zlib ==&lt;br /&gt;
&lt;br /&gt;
* '''Step 1''' - Download the latest zlib binary package here http://sourceforge.net/projects/gnuwin32/files/zlib/1.2.3/zlib-1.2.3-lib.zip/download (direct link) or view the release page here http://sourceforge.net/projects/gnuwin32/files/zlib/1.2.3/&lt;br /&gt;
&lt;br /&gt;
* '''Step 2''' - Extract the archive you downloaded in Step 1 in the &amp;quot;3rdParty&amp;quot; directory under your FlightGear project root directory.&lt;br /&gt;
&lt;br /&gt;
* '''Step 3''' - As of zlib version 1.2.3, you must edit line 287 of the file &amp;quot;3rdParty\include\zconf.h&amp;quot; from &amp;quot;#if 1&amp;quot; to &amp;quot;#if 0&amp;quot; to avoid compiler errors when compiling SimGear against zlib.&lt;br /&gt;
&lt;br /&gt;
== Getting jpeglib ==&lt;br /&gt;
&lt;br /&gt;
* '''Step 1''' - Download the latest jpeglib source package here http://www.ijg.org/&lt;br /&gt;
&lt;br /&gt;
* '''Step 2''' - This is a simple way to compile that should work with all versions of MSVC.&lt;br /&gt;
Open a command prompt and navigate to the folder where you have extracted the sources.&lt;br /&gt;
Type the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
copy jconfig.vc jconfig.h&lt;br /&gt;
copy makefile.vc makefile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(this will copy the preconfigured Visual C configuration and makefile).&lt;br /&gt;
&lt;br /&gt;
Then on the same command prompt type the following command to build the library:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nmake nodebug=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that other projects will find your new files: Either copy '''jerror.h, jmorecfg.h''' and '''jpeglib.h''' to an include folder which is already defined (e.g. 3rdparty/include) or modify the individual project settings by adding the directory where you unpacked the jpeglib sources. The latter method is not advised.&lt;br /&gt;
&lt;br /&gt;
Finally if you get the error:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
makefile(11) : fatal error U1052: file 'win32.mak' not found&lt;br /&gt;
Stop.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then you need to add the switch '''/f &amp;lt;path&amp;gt;''' to point to the file Win32.Mak which resides in the above mentioned Platform SDK directory\Include. Make sure to enclose this path into double quotes if the path contains spaces. Or you may just want to copy win32.mak to the folder and run nmake.&lt;br /&gt;
&lt;br /&gt;
If you get cl.exe not recognized, you will need to go to your VC/Bin folder and run vcvars32.bat to set the environment settings.&lt;br /&gt;
&lt;br /&gt;
== Getting plib ==&lt;br /&gt;
&lt;br /&gt;
You may download a prebuilt version of plib from http://www.oflebbe.de/FlightGear/plib-2007-04-16.zip (direct link) or visit Olafe's Compiling FlightGear page at http://www.oflebbe.de/FlightGear/index.html  If you use this prebuilt, just extract the archive file's contents in your FlightGear project root directory. This will create the subdirectory '''plib'''.&lt;br /&gt;
&lt;br /&gt;
The above plib package does not include debug libaries, only release.  There have also been some bug fixes and changes to since that package was created, so you may wish to use the latest development version from SVN which you may download here http://plib.svn.sourceforge.net/viewvc/plib/trunk.tar.gz   One annoying bug that was fixed caused joystick models to not be recognized automatically on Windows XP, Vista and 7.&lt;br /&gt;
&lt;br /&gt;
Going this route means that you must compile plib yourself by following the instructions below:&lt;br /&gt;
&lt;br /&gt;
* '''Step 1''' - Download the latest plib source tarball from http://plib.svn.sourceforge.net/viewvc/plib/trunk.tar.gz and extract it in some location that is NOT in your FlightGear project root directory.  This will create a subdirectory named '''trunk''' which you may wish to rename to '''plib-svn'''.  The remaining instructions assume that you did name it '''plib-svn'''&lt;br /&gt;
&lt;br /&gt;
* '''Step 2''' - Double-click the file '''plib-svn\plib.dsw'''. This should launch Visual C++ which will ask if you want to convert the project file; answer &amp;quot;Yes to all&amp;quot; at the convert prompt.&lt;br /&gt;
&lt;br /&gt;
* '''Step 3''' - Build the debug version of the plib libraries first by setting the VC++ Solution Configuration for Debug and hitting the F7 key.&lt;br /&gt;
&lt;br /&gt;
Build the release version of the plib libraries next by setting the VC++ Solution Configuration for Release and hitting the F7 key.&lt;br /&gt;
&lt;br /&gt;
NOTE: as of this writing, 5 compile errors in 4 files will occur. In each case, a typecast of '''(char*)''' must be added in order to compile without error using VC++ 2008 (VC90).&lt;br /&gt;
&lt;br /&gt;
* '''Step 4''' - Create the subdirectory '''plib''' in your FlightGear project root directory.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  C:\FlightGear\plib&lt;br /&gt;
&lt;br /&gt;
* '''Step 5''' - Copy all of the files in your '''plib-svn'' directory that have the extensions &amp;quot;h&amp;quot;, &amp;quot;lib&amp;quot; and &amp;quot;pdb&amp;quot; to the new plib directory under your FlightGear project root directory.&lt;br /&gt;
&lt;br /&gt;
== Getting SVN headers ==&lt;br /&gt;
&lt;br /&gt;
[[TerraSync]] is a convenient method to get actual scenery data without the need for download many megabytes of data before flying by synchronizing in [http://en.wikipedia.org/wiki/Apache_Subversion SVN manner]. TerraSync is part of the FlightGear sources and will be compiled by default with the other FlightGear binaries. To get TerraSync compiled properly you need to get the above mentioned &amp;quot;SVN developer library files&amp;quot;. Extract the library and header files into your 3rdparty folder to the corresponding subfolders.&lt;br /&gt;
&lt;br /&gt;
== Getting OpenSceneGraph (OSG) ==&lt;br /&gt;
&lt;br /&gt;
* '''Intro'''&lt;br /&gt;
To build SimGear and FlightGear from CVS head, you'll usually need the latest version of OSG. OSG from SVN head might be the best choice.&lt;br /&gt;
&lt;br /&gt;
* '''Fetching &amp;quot;cutting edge&amp;quot; sources from SVN head'''&lt;br /&gt;
Use [http://tortoisesvn.net/ Tortoise SVN] to fetch the lastest source of OSG. The URL for the project archive is http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.6. The destination folder should be '''OpenSceneGraph''' under your FlightGear project root directory. All other options can be left alone and are good to go as default. Wait until all files are downloaded from SVN.&lt;br /&gt;
&lt;br /&gt;
* '''Dependencies'''&amp;lt;br /&amp;gt;&lt;br /&gt;
OSG depends on some external libraries from the GnuWin project&amp;lt;br /&amp;gt;&lt;br /&gt;
- [http://gnuwin32.sourceforge.net/packages/jpeg.htm Jpeg]&amp;lt;br /&amp;gt;&lt;br /&gt;
- [http://gnuwin32.sourceforge.net/packages/libpng.htm Png]&amp;lt;br /&amp;gt;&lt;br /&gt;
- [http://www.zlib.net/ ZLib]&amp;lt;br /&amp;gt;&lt;br /&gt;
Download these packages and unzip them (including the folder structure) to your FG project folder\3rdparty. If you do not intend to create debug versions of OSG you can remove all links to debug files and *-bcc.lib in ...\3rdparty\lib.&lt;br /&gt;
A ready-to-use 3rd party archive, a detailed list of single dependencies and an explanation of the different dependencies can be found [http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies here].&lt;br /&gt;
&lt;br /&gt;
* '''Preparing sources with CMake (generating project and solution files)'''&lt;br /&gt;
Get [http://www.cmake.org/cmake/resources/software.html CMake for Windows]. Extract all files from the archive to a folder of your choice (e.g. C:\DEV\CMake). Go to C:\DEV\CMake\bin and start '''cmake-gui.exe'''. Browse for the OSG source code (e.g. FlightGear project root\OpenSceneGraph) and enter this to the first line. Below this you'll find the path '''where to build the binaries'''. After entering the path to the souce code you'll find the same path here. Just add '''\build''' to this and you are now good to press '''Configure'''. If it did not happen before you'll now receive an information that your buld-folder was not found and cmake-gui asks you if it should be ceated for you. Press '''yes''' to do so.&lt;br /&gt;
Next specify you installed compiler (e.g. '''Visual Studio 9 2008'''). Set '''Use default native compiler''' and press '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
cmake-gui is now configuring everything so that you can use VC9 with OSG sources. But before you can go on you'll need to tweak cmake a little bit. After pressing Configure the first time, many red lines will appear in the middle window which points you to settings where you can customise your build. Chnage the view from '''Simple view''' to '''Advanced view''' to achieve more detailed settings. Some settings must be reviewed (e.g. ACTUAL_3RDPARTY_DIR, CMAKE_INSTALL_PREFIX, etc.).&lt;br /&gt;
&lt;br /&gt;
In permission-restricted environments (like Vista or Windows 7) do '''not''' set CMAKE_INSTALL_PREFIX to a restricted folder like c:\program files as this will not work and lead to many '''permission denied''' messages as cmake can't elevate your rights. Use a permission free folder instead.&lt;br /&gt;
&lt;br /&gt;
If you are satisfied with your cmake-options press configure 2, 3 or 4 times until '''Generate''' becomes active. Press it and wait until cmake-gui has finished to creat all neccesary folders/files for proceeding in Visual Studio (VC).&lt;br /&gt;
&lt;br /&gt;
* '''Building in VC9'''&lt;br /&gt;
Switch to the folder '''Where to build binaries''' named before in cmake-gui and open the file '''OpenSceneGraph.sln''' with VC. Select your desired build type (Debug, Release, RelWithDebugInfo, MinSizeRel) and press '''F7''' to build the project. It's time for some coffee as this process will take some time. After all is done (hopefully) without errors right click the INSTALL project and build it. This will copy your compiled files to their correct locations (CMAKE_INSTALL_PREFIX). Before you do that all files reside in your build folder and it's not recommende to use them from there.&lt;br /&gt;
&lt;br /&gt;
* '''Some additional words'''&lt;br /&gt;
The first compile run will take certain long time. After you finished the first build all further builds will work much faster. So updating SVN and recompiling the sources will not take too much time in the future. Just make sure: '''ALWAYS BUILD THE INSTALL PROJECT''' as this is part of the complete process. Without this your newly built files will stay in your build but not in your install folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Stable releases'''&lt;br /&gt;
You can however try and follow the building instructions from above to bet &amp;quot;cutting edge&amp;quot; with OSG.&lt;br /&gt;
Or you can download the latest Windows binaries from this page: [http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-2.8.1/binaries/Windows/VisualStudio9/] &lt;br /&gt;
&lt;br /&gt;
Get the archive(s) named &amp;quot;openscenegraph-all[...]&amp;quot;. Get both the Release and Debug versions if you expect to do any debug builds of FlightGear. Otherwise, just the Release version should be fine.&lt;br /&gt;
&lt;br /&gt;
* '''Step 2''' - Create a the following directure structure under your FlightGear project root directory: &amp;quot;install\msvc90\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  C:\FlightGear\install\msvc90\&lt;br /&gt;
&lt;br /&gt;
I have no idea why that directory structure was chosen, but that's what the MS VC++ project file(s) in FG CVS expect.&lt;br /&gt;
&lt;br /&gt;
* '''Step 3''' - Extract the OSG archive(s) you downloaded in Step 1 in the directory you created in Step 2.&lt;br /&gt;
* '''Step 4''' - Rename the resulting &amp;quot;OpenSceneGraph-[version]&amp;quot; directory to simply &amp;quot;OpenSceneGraph&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This method is much more simple but the stable releases are far behind the actual development.&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling SimGear ==&lt;br /&gt;
&lt;br /&gt;
* '''Step 1''' - Navigate to the base folder for your FlightGear stuff; In this example, we've chosen &amp;quot;C:\FlightGear&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In Windows Explorer, select the &amp;quot;C:\FlightGear&amp;quot; folder and right-click on it. From the resulting pop-up menu, choose &amp;quot;CVS Checkout&amp;quot;. On the &amp;quot;Module&amp;quot; tab, enter the following in the CVSROOT field:&lt;br /&gt;
&lt;br /&gt;
 :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3&lt;br /&gt;
&lt;br /&gt;
At the &amp;quot;Module&amp;quot; section near the bottom of the &amp;quot;Module&amp;quot; tab, click the &amp;quot;Fetch List&amp;quot; button. You will see some brief action and may see an error and a prompt for a password. Enter &amp;quot;guest&amp;quot; for the password (without the quote symbols). From the drop-down &amp;quot;Module&amp;quot; list, select &amp;quot;source&amp;quot; and click the &amp;quot;OK&amp;quot; button to begin the checkout.&lt;br /&gt;
&lt;br /&gt;
* '''Step 2''' - Since all the source code will be downloaded into a directory called '''source''', you will need to rename that directory to '''simgear'''.&lt;br /&gt;
&lt;br /&gt;
Navigate to simgear\projects\VC90 and double-click on the file '''SimGear.vcproj'''.  This should launch Visual C++ with the SimGear project loaded.&lt;br /&gt;
&lt;br /&gt;
* '''Step 3''' - Build SimGear, either Release, Debug or both using VC++ 2008 (9.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;''Note:'' with the default settings, Visual C++ will yield many compiler warnings. Unfortunately, this is normal.&amp;lt;/s&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Note:'' Fortunately due to the efforts of developing the amount of warnings is getting less and less. Actually (June 2010) not more than 30 warnings should come up during compiling under Windows.&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling FlightGear ==&lt;br /&gt;
&lt;br /&gt;
* '''Step 1'''&lt;br /&gt;
Make a base folder for your FlightGear stuff; In this example, we've chosen &amp;quot;C:\FlightGear&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In Windows Explorer, select the &amp;quot;C:\FlightGear&amp;quot; folder and right-click on it. From the resulting pop-up menu, choose &amp;quot;CVS Checkout&amp;quot;. On the &amp;quot;Module&amp;quot; tab, enter the following in the CVSROOT field:&lt;br /&gt;
&lt;br /&gt;
 :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9&lt;br /&gt;
&lt;br /&gt;
At the &amp;quot;Module&amp;quot; section near the bottom of the &amp;quot;Module&amp;quot; tab, click the &amp;quot;Fetch List&amp;quot; button. You will see some brief action and may see an error and a prompt for a password. Enter &amp;quot;guest&amp;quot; for the password (without the quote symbols). From the drop-down &amp;quot;Module&amp;quot; list, select &amp;quot;source&amp;quot; and click the &amp;quot;OK&amp;quot; button to begin the checkout.&lt;br /&gt;
&lt;br /&gt;
A directory with the name '''source''' will then be created with all of Flightgear's source code downloaded into it. Rename this directory from '''source''' to '''flightgear'''.&lt;br /&gt;
&lt;br /&gt;
* '''Step 2'''&lt;br /&gt;
&lt;br /&gt;
Build either the Debug or Release version FlightGear as desired.&lt;br /&gt;
&lt;br /&gt;
* '''Step 3''' &lt;br /&gt;
&lt;br /&gt;
TODO: Installation.&lt;br /&gt;
&lt;br /&gt;
== Checking out the FlightGear data ==&lt;br /&gt;
The binary distribution package contains '''data''' for only a small subset of the existing aircraft and other objects. The instructions below tell you how to obtain the full set of data, in their latest, greatest form.&lt;br /&gt;
&lt;br /&gt;
Make a base folder for your FlightGear stuff; In this example, we've chosen &amp;quot;C:\FlightGear&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In Windows Explorer, select the &amp;quot;C:\FlightGear&amp;quot; folder and right-click on it. From the resulting pop-up menu,&lt;br /&gt;
choose &amp;quot;CVS Checkout...&amp;quot;. On the &amp;quot;Module&amp;quot; tab, enter the following in the CVSROOT field:&lt;br /&gt;
&lt;br /&gt;
 :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9&lt;br /&gt;
&lt;br /&gt;
At the &amp;quot;Module&amp;quot; section near the bottom of the &amp;quot;Module&amp;quot; tab, click the &amp;quot;Fetch List&amp;quot; button. You will see some brief action and may see an error and a prompt for a password. Enter &amp;quot;guest&amp;quot; for the password (without the quote symbols). From the drop-down &amp;quot;Module&amp;quot; list, select &amp;quot;data&amp;quot; and click the &amp;quot;OK&amp;quot; button  to begin the checkout.&lt;br /&gt;
&lt;br /&gt;
The result of the checkout is a directory called C:\FlightGear\data. To use this data directory with the FlightGear program, you can either (a) move it to C:\Program Files\FlightGear\ directory or (b) direct FlightGear to the actual location of this data directory from the command line or within the fgrun launcher application.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.microsoft.com/express/vc/ Microsoft Visual C++ (Express) Download page]&lt;br /&gt;
* [http://www.geoffmclane.com/fg/index.htm FlightGear Build Centre]&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Build_FlightGear_with_NetBeans_using_CMake&amp;diff=48472</id>
		<title>Howto:Build FlightGear with NetBeans using CMake</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Build_FlightGear_with_NetBeans_using_CMake&amp;diff=48472"/>
		<updated>2012-04-26T17:11:51Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Windows: Getting a compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
* Last updated: 10/2011&lt;br /&gt;
* Contributor/s: Callahanp, Hooray&lt;br /&gt;
* Status: WIP (as of 10/2011)&lt;br /&gt;
* Written after the FlightGear 2.4 release, for NetBeans 7.0.1&lt;br /&gt;
&lt;br /&gt;
= Important =&lt;br /&gt;
The latest CMake-specific build instructions can be found in $FG_SRC/README.cmake: http://gitorious.org/fg/flightgear/blobs/next/README.cmake&lt;br /&gt;
&lt;br /&gt;
If you encounter any CMake-related bugs while trying to build SimGear and/or FlightGear, please consider filing a bug report here: http://code.google.com/p/flightgear-bugs/issues/list&lt;br /&gt;
&lt;br /&gt;
If you think the instructions are lacking some details, you are invited to add them as required. Also, if you think that some more specific screen shots would help, please do feel free to upload new screen shots here: [[Special:Upload]]&lt;br /&gt;
&lt;br /&gt;
Don't worry if you don't know how to embed these images, you can simply leave a few comments on the article's talk page, so that we can update the article accordingly. Thanks!&lt;br /&gt;
&lt;br /&gt;
= Todo =&lt;br /&gt;
* The instructions in their current form don't cover building with libsvn, this would be required for [[TerraSync]] support though.&lt;br /&gt;
* Add an outline of the steps to create and use the build environment.&lt;br /&gt;
* FG 2.6.0+&lt;br /&gt;
* latest version of NetBeans, check all steps involved and update screen shots as required&lt;br /&gt;
* CVS support no longer required&lt;br /&gt;
* Callahanp mentioned some issues related to debug libs: verify!&lt;br /&gt;
&lt;br /&gt;
= Windows: Getting a compiler =&lt;br /&gt;
On Windows, people need to download and install a C++ compiler separately. NetBeans supports a number of different compilers. Installing and setting up compilers on Windows is covered here: http://netbeans.org/community/releases/71/cpp-setup-instructions.html&lt;br /&gt;
&lt;br /&gt;
The simplest option to get started is probably using the MinGW (Minimalist GNU for Windows) package http://mingw.org/wiki/Getting_Started (or from Qt/Trolltech: http://qt.nokia.com/downloads/windows-cpp (skip the Qt download at that page, just use the MinGW download link)).&lt;br /&gt;
&lt;br /&gt;
Assuming you are proceeding with that mingw.org link:&lt;br /&gt;
# log in as a user with administrator rights (as per the above netbeans.org link, you should install MinGW as admin)&lt;br /&gt;
# browse to the above mingw.org Getting Started page, click the mingw-get-inst link on that page, download and run mingw-get-inst-20120421.exe (latest as of 2012 04 26)&lt;br /&gt;
# accept all defaults during its install (location C:\MinGW), plus click for C++ Compiler, and MSYS Basic System, click Next, Install, Finish (if you change the default location, they strongly recommend you do not use a path with spaces, and you will have to interpret the remaining steps with your changed location)&lt;br /&gt;
# currently (2012 04 26) the installer fails to install gcc and some other things, so check if C:\MinGW\bin contains gcc, and if it doesn't, then open a command prompt and &lt;br /&gt;
#* cd C:\MinGW\bin&lt;br /&gt;
#* mingw-get install gcc gmp libgmp&lt;br /&gt;
# add MinGW to your path as follows (the mingw.org page referenced above recommends not changing path variables system wide, however I could not make their alternative methods work for even compiling the NetBeans hello world project, so I include this step):&lt;br /&gt;
#* right-click on My Computer &amp;gt; Properties &amp;gt; Advanced &amp;gt; Environment Variables&lt;br /&gt;
#* double click on Path&lt;br /&gt;
#* add ;C:\MinGW\msys\1.0\bin;C:\MinGW\bin to the end of the existing stuff (note the semi-colon separators; DO NOT remove or alter any of the previous contents or your windows setup may barf)&lt;br /&gt;
#* click OK, OK to close the My Computer Properties windows&lt;br /&gt;
&lt;br /&gt;
= Download and install NetBeans 7.0.1 =&lt;br /&gt;
&lt;br /&gt;
NetBeans is a multi-platform IDE (integrated development environment) that supports a number of programming languages, C and C++ among them.&lt;br /&gt;
&lt;br /&gt;
NetBeans is a highly modular and very powerful IDE with a huge range of features, using the following steps, it took me about 30 minutes to set up a working FlightGear build environment in NetBeans, including the time required for the repository checkouts.&lt;br /&gt;
&lt;br /&gt;
Go to http://netbeans.org/downloads/ in order to download the latest version of NetBeans for your OS/platform.&lt;br /&gt;
&lt;br /&gt;
You can either choose the full download (~200 MB) or just the C/C++ bundle which is about 50 MB.&lt;br /&gt;
&lt;br /&gt;
After downloading NetBeans, you'll need to install it.&lt;br /&gt;
&lt;br /&gt;
= Installing required modules (plugins) =&lt;br /&gt;
&lt;br /&gt;
Using the plugin installer, you need to install the following plugins in order to work with repositories:&lt;br /&gt;
&lt;br /&gt;
* cvs &lt;br /&gt;
* svn (subversion)&lt;br /&gt;
* git&lt;br /&gt;
&lt;br /&gt;
In NetBeans, just go to the Tools menu and select &amp;quot;Plugins&amp;quot;: [[File:Netbeans-getting-plugins.png]]&lt;br /&gt;
&lt;br /&gt;
= Checking out the required dependencies =&lt;br /&gt;
&lt;br /&gt;
All important FlightGear repositories are hosted at gitorious: http://gitorious.org/fg/&lt;br /&gt;
&lt;br /&gt;
You will need to check out (git:&amp;quot;clone&amp;quot;) the repositories for the following dependencies:&lt;br /&gt;
&lt;br /&gt;
* Boost http://svn.boost.org/svn/boost/trunk&lt;br /&gt;
* OpenAL svn://connect.creativelabs.com/OpenAL&lt;br /&gt;
* OpenSceneGraph (OSG) http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1&lt;br /&gt;
* PLIB https://plib.svn.sourceforge.net/svnroot/plib&lt;br /&gt;
* SimGear git://gitorious.org/fg/simgear.git&lt;br /&gt;
* FlightGear git://gitorious.org/fg/flightgear.git&lt;br /&gt;
&lt;br /&gt;
Note that it should usually be sufficient to download the latest RELEASE for Boost, OpenAL, and PLIB. &lt;br /&gt;
Only FG, SG and OSG should preferably be checked out from their corresponding repositories. Obviously, you could even use the latest stable OSG release, too (that is, if you don't intend to do any OSG and/or SimGear coding!).&lt;br /&gt;
&lt;br /&gt;
You can do this easily in NetBeans by going to the &amp;quot;Team&amp;quot; menu, &lt;br /&gt;
this is where you can find sub menus for all supported source &lt;br /&gt;
code management systems (CVS, Git, Mercurial and Subversion): [[File:Netbeans-checking-out-repositories.png]]&lt;br /&gt;
&lt;br /&gt;
= Creating new projects from existing sources =&lt;br /&gt;
&lt;br /&gt;
After checking out the repository, you'll want to use the NetBeans project wizard to CREATE A NEW PROJECT FROM EXISTING SOURCES for each dependency: [[File:Netbeans-new-project-from-existing-sources-step1.png]]&lt;br /&gt;
&lt;br /&gt;
Next, pick &amp;quot;...from existing sources&amp;quot;: [[File:Netbeans-new-project-from-existing-sources-step2.png]]&lt;br /&gt;
&lt;br /&gt;
Specify the folder where the checked out sources can be found: [[File:Netbeans-new-project-from-existing-sources-step3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For CMake-based projects, you'll want to point NetBeans to the CMakeLists.txt file instead of the configure script: [[File:Netbeans-new-project-from-existing-sources-step4.png]]&lt;br /&gt;
&lt;br /&gt;
Finally, you should see all projects neatly structured in NetBeans:&lt;br /&gt;
&lt;br /&gt;
[[File:Plib-osg-simgear-flightgear-in-netbeans.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Setting up project dependencies =&lt;br /&gt;
&lt;br /&gt;
You only need to know that there's a dependency chain: SimGear depends on BOOST, OpenAL, PLIB and OSG, while FlightGear depends on SimGear and OSG.&lt;br /&gt;
&lt;br /&gt;
So, just bring up a context menu for each configured project and go to &amp;quot;Properties&amp;quot;: [[File:Netbeans-setting-up-projects-dependencies.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, go to &amp;quot;RELATED PROJECTS&amp;quot; and set up the dependencies: [[File:Netbeans-setting-up-projects-dependencies-step1.png]]&lt;br /&gt;
&lt;br /&gt;
= Disable code indexing =&lt;br /&gt;
By default, NetBeans will keep on trying and index all your sources, this may slow down the IDE considerably, so it's a good idea to disable this feature if you don't need it (CONTEXT MENU/RIGHT CLICK on project, go to CODE ASSISTANCE and then uncheck the marked entry):&lt;br /&gt;
&lt;br /&gt;
[[File:Disable-code-assistance-in-netbeans.png]]&lt;br /&gt;
&lt;br /&gt;
= Staying up to date =&lt;br /&gt;
Staying &amp;quot;up to date&amp;quot; is actually fairly easy once everything is set up, you only need to right click on each repository (project/dependency)  and go to the SCM sub menu (i.e. &amp;quot;Git&amp;quot; for FlightGear/SimGear and &amp;quot;Subversion&amp;quot; for OSG) and then click on &amp;quot;pull&amp;quot; or &amp;quot;update&amp;quot; accordingly: [[File:Netbeans-staying-up2date.png]]&lt;br /&gt;
&lt;br /&gt;
= Setting up the Jenkins build server =&lt;br /&gt;
&lt;br /&gt;
Jenkins/Hudson are &amp;quot;continuous integration&amp;quot; servers, i.e. they can be configured to check out and build sources automatically. NetBeans comes with built-in support for Jenkins/Hudson, this means that the official FlightGear build server at http://flightgear.simpits.org:8080 can be directly integrated into your IDE.&lt;br /&gt;
&lt;br /&gt;
This allows all people to easily track the build server, and allows core developers to trigger builds, too.&lt;br /&gt;
&lt;br /&gt;
That's also pretty easy, just go to SERVICES and then right click on &amp;quot;Hudson Builders&amp;quot;: &lt;br /&gt;
[[File:Setting-up-jenkins-CI-in-netbeans-step1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, fill in the URL of the Jenkins CI server: [[File:Setting-up-jenkins-CI-in-netbeans-step2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once completed, you should see this: [[File:Jenkins-integration-in-netbeans.png]]&lt;br /&gt;
&lt;br /&gt;
= Setting up remote development =&lt;br /&gt;
&lt;br /&gt;
Remote development involves setting up a SSH connection profile in NetBeans in order to connect to a Unix/Linux server so that you can remotely build FlightGear and its dependencies, this can for example be useful for cross-compilation, but also if you don't want to, or cannot, set up all required tools, such as compilers, locally.&lt;br /&gt;
&lt;br /&gt;
Also, on Windows, this makes it possible to use a Linux sever for building, debugging and instrumenting/profiling FlightGear, while editing the source code on a Windows box. This means that you can use standard Linux tools such as gcov,gprof or valgrind while editing your code under Windows.&lt;br /&gt;
&lt;br /&gt;
To get started, you should have an understanding of Linux and using SSH. In particular, you should know how to set up a SSH connection, including authentication (SSH keys). Obviously, for NetBeans it really doesn't matter if the Linux/Unix server is running in the same LAN or across the internet in the form of an affordable VPS box. You could even run a virtual private server on Windows using VirtualBox or CoLinux.&lt;br /&gt;
&lt;br /&gt;
Once you have set up a new account to the corresponding Linux box, you only need to switch to the &amp;quot;Services&amp;quot; tab, go to &amp;quot;C/C++ Build Hosts&amp;quot;, open a context menu and &amp;quot;add a new host&amp;quot;: [[File:Netbeans-set-up-remote-building-step1.png]]&lt;br /&gt;
&lt;br /&gt;
Next, add the address (or hostname), and the correct SSH port: [[File:Netbeans-set-up-remote-building-step2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Build_FlightGear_with_NetBeans_using_CMake&amp;diff=48471</id>
		<title>Howto:Build FlightGear with NetBeans using CMake</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Build_FlightGear_with_NetBeans_using_CMake&amp;diff=48471"/>
		<updated>2012-04-26T17:00:55Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Windows: Getting a compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
* Last updated: 10/2011&lt;br /&gt;
* Contributor/s: Callahanp, Hooray&lt;br /&gt;
* Status: WIP (as of 10/2011)&lt;br /&gt;
* Written after the FlightGear 2.4 release, for NetBeans 7.0.1&lt;br /&gt;
&lt;br /&gt;
= Important =&lt;br /&gt;
The latest CMake-specific build instructions can be found in $FG_SRC/README.cmake: http://gitorious.org/fg/flightgear/blobs/next/README.cmake&lt;br /&gt;
&lt;br /&gt;
If you encounter any CMake-related bugs while trying to build SimGear and/or FlightGear, please consider filing a bug report here: http://code.google.com/p/flightgear-bugs/issues/list&lt;br /&gt;
&lt;br /&gt;
If you think the instructions are lacking some details, you are invited to add them as required. Also, if you think that some more specific screen shots would help, please do feel free to upload new screen shots here: [[Special:Upload]]&lt;br /&gt;
&lt;br /&gt;
Don't worry if you don't know how to embed these images, you can simply leave a few comments on the article's talk page, so that we can update the article accordingly. Thanks!&lt;br /&gt;
&lt;br /&gt;
= Todo =&lt;br /&gt;
* The instructions in their current form don't cover building with libsvn, this would be required for [[TerraSync]] support though.&lt;br /&gt;
* Add an outline of the steps to create and use the build environment.&lt;br /&gt;
* FG 2.6.0+&lt;br /&gt;
* latest version of NetBeans, check all steps involved and update screen shots as required&lt;br /&gt;
* CVS support no longer required&lt;br /&gt;
* Callahanp mentioned some issues related to debug libs: verify!&lt;br /&gt;
&lt;br /&gt;
= Windows: Getting a compiler =&lt;br /&gt;
On Windows, people need to download and install a C++ compiler separately, NetBeans supports a number of different compilers. Installing and setting up compilers on Windows is covered here: http://netbeans.org/community/releases/71/cpp-setup-instructions.html&lt;br /&gt;
&lt;br /&gt;
The simplest option to get started is probably using the MinGW (Minimalist GNU for Windows) package http://mingw.org/wiki/Getting_Started (or from Qt/Trolltech: http://qt.nokia.com/downloads/windows-cpp (skip the Qt download at that page, just use the MinGW download link)).&lt;br /&gt;
&lt;br /&gt;
Assuming you are proceeding with that mingw.org link:&lt;br /&gt;
# log in as a user with administrator rights (as per the above netbeans.org link, you should install MinGW as admin)&lt;br /&gt;
# browse to the above mingw.org Getting Started page, click the mingw-get-inst link on that page, download and run mingw-get-inst-20120421.exe (latest as of 2012 04 26)&lt;br /&gt;
# accept all defaults during its install (location C:\MinGW), plus click for C++ Compiler, and MSYS Basic System, click Next, Install, Finish (if you change the default location, they strongly recommend you do not use a path with spaces, and you will have to interpret the remaining steps with your changed location)&lt;br /&gt;
# currently (2012 04 26) the installer fails to install gcc and some other things, so check if C:\MinGW\bin contains gcc, and if it doesn't, then open a command prompt and &lt;br /&gt;
:* cd C:\MinGW\bin&lt;br /&gt;
:* mingw-get install gcc gmp libgmp&lt;br /&gt;
# add MinGW to your path as follows (the mingw.org page referenced above recommends not changing path variables system wide, however I could not make their alternative methods work for even compiling the NetBeans hello world project, so I include this step):&lt;br /&gt;
:* right-click on My Computer &amp;gt; Properties &amp;gt; Advanced &amp;gt; Environment Variables&lt;br /&gt;
:* double click on Path&lt;br /&gt;
:* add ;C:\MinGW\msys\1.0\bin;C:\MinGW\bin to the end of the existing stuff (note the semi-colon separators; DO NOT remove or alter any of the previous contents or your windows setup may barf)&lt;br /&gt;
:* click OK, OK to close the My Computer Properties windows&lt;br /&gt;
&lt;br /&gt;
= Download and install NetBeans 7.0.1 =&lt;br /&gt;
&lt;br /&gt;
NetBeans is a multi-platform IDE (integrated development environment) that supports a number of programming languages, C and C++ among them.&lt;br /&gt;
&lt;br /&gt;
NetBeans is a highly modular and very powerful IDE with a huge range of features, using the following steps, it took me about 30 minutes to set up a working FlightGear build environment in NetBeans, including the time required for the repository checkouts.&lt;br /&gt;
&lt;br /&gt;
Go to http://netbeans.org/downloads/ in order to download the latest version of NetBeans for your OS/platform.&lt;br /&gt;
&lt;br /&gt;
You can either choose the full download (~200 MB) or just the C/C++ bundle which is about 50 MB.&lt;br /&gt;
&lt;br /&gt;
After downloading NetBeans, you'll need to install it.&lt;br /&gt;
&lt;br /&gt;
= Installing required modules (plugins) =&lt;br /&gt;
&lt;br /&gt;
Using the plugin installer, you need to install the following plugins in order to work with repositories:&lt;br /&gt;
&lt;br /&gt;
* cvs &lt;br /&gt;
* svn (subversion)&lt;br /&gt;
* git&lt;br /&gt;
&lt;br /&gt;
In NetBeans, just go to the Tools menu and select &amp;quot;Plugins&amp;quot;: [[File:Netbeans-getting-plugins.png]]&lt;br /&gt;
&lt;br /&gt;
= Checking out the required dependencies =&lt;br /&gt;
&lt;br /&gt;
All important FlightGear repositories are hosted at gitorious: http://gitorious.org/fg/&lt;br /&gt;
&lt;br /&gt;
You will need to check out (git:&amp;quot;clone&amp;quot;) the repositories for the following dependencies:&lt;br /&gt;
&lt;br /&gt;
* Boost http://svn.boost.org/svn/boost/trunk&lt;br /&gt;
* OpenAL svn://connect.creativelabs.com/OpenAL&lt;br /&gt;
* OpenSceneGraph (OSG) http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1&lt;br /&gt;
* PLIB https://plib.svn.sourceforge.net/svnroot/plib&lt;br /&gt;
* SimGear git://gitorious.org/fg/simgear.git&lt;br /&gt;
* FlightGear git://gitorious.org/fg/flightgear.git&lt;br /&gt;
&lt;br /&gt;
Note that it should usually be sufficient to download the latest RELEASE for Boost, OpenAL, and PLIB. &lt;br /&gt;
Only FG, SG and OSG should preferably be checked out from their corresponding repositories. Obviously, you could even use the latest stable OSG release, too (that is, if you don't intend to do any OSG and/or SimGear coding!).&lt;br /&gt;
&lt;br /&gt;
You can do this easily in NetBeans by going to the &amp;quot;Team&amp;quot; menu, &lt;br /&gt;
this is where you can find sub menus for all supported source &lt;br /&gt;
code management systems (CVS, Git, Mercurial and Subversion): [[File:Netbeans-checking-out-repositories.png]]&lt;br /&gt;
&lt;br /&gt;
= Creating new projects from existing sources =&lt;br /&gt;
&lt;br /&gt;
After checking out the repository, you'll want to use the NetBeans project wizard to CREATE A NEW PROJECT FROM EXISTING SOURCES for each dependency: [[File:Netbeans-new-project-from-existing-sources-step1.png]]&lt;br /&gt;
&lt;br /&gt;
Next, pick &amp;quot;...from existing sources&amp;quot;: [[File:Netbeans-new-project-from-existing-sources-step2.png]]&lt;br /&gt;
&lt;br /&gt;
Specify the folder where the checked out sources can be found: [[File:Netbeans-new-project-from-existing-sources-step3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For CMake-based projects, you'll want to point NetBeans to the CMakeLists.txt file instead of the configure script: [[File:Netbeans-new-project-from-existing-sources-step4.png]]&lt;br /&gt;
&lt;br /&gt;
Finally, you should see all projects neatly structured in NetBeans:&lt;br /&gt;
&lt;br /&gt;
[[File:Plib-osg-simgear-flightgear-in-netbeans.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Setting up project dependencies =&lt;br /&gt;
&lt;br /&gt;
You only need to know that there's a dependency chain: SimGear depends on BOOST, OpenAL, PLIB and OSG, while FlightGear depends on SimGear and OSG.&lt;br /&gt;
&lt;br /&gt;
So, just bring up a context menu for each configured project and go to &amp;quot;Properties&amp;quot;: [[File:Netbeans-setting-up-projects-dependencies.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, go to &amp;quot;RELATED PROJECTS&amp;quot; and set up the dependencies: [[File:Netbeans-setting-up-projects-dependencies-step1.png]]&lt;br /&gt;
&lt;br /&gt;
= Disable code indexing =&lt;br /&gt;
By default, NetBeans will keep on trying and index all your sources, this may slow down the IDE considerably, so it's a good idea to disable this feature if you don't need it (CONTEXT MENU/RIGHT CLICK on project, go to CODE ASSISTANCE and then uncheck the marked entry):&lt;br /&gt;
&lt;br /&gt;
[[File:Disable-code-assistance-in-netbeans.png]]&lt;br /&gt;
&lt;br /&gt;
= Staying up to date =&lt;br /&gt;
Staying &amp;quot;up to date&amp;quot; is actually fairly easy once everything is set up, you only need to right click on each repository (project/dependency)  and go to the SCM sub menu (i.e. &amp;quot;Git&amp;quot; for FlightGear/SimGear and &amp;quot;Subversion&amp;quot; for OSG) and then click on &amp;quot;pull&amp;quot; or &amp;quot;update&amp;quot; accordingly: [[File:Netbeans-staying-up2date.png]]&lt;br /&gt;
&lt;br /&gt;
= Setting up the Jenkins build server =&lt;br /&gt;
&lt;br /&gt;
Jenkins/Hudson are &amp;quot;continuous integration&amp;quot; servers, i.e. they can be configured to check out and build sources automatically. NetBeans comes with built-in support for Jenkins/Hudson, this means that the official FlightGear build server at http://flightgear.simpits.org:8080 can be directly integrated into your IDE.&lt;br /&gt;
&lt;br /&gt;
This allows all people to easily track the build server, and allows core developers to trigger builds, too.&lt;br /&gt;
&lt;br /&gt;
That's also pretty easy, just go to SERVICES and then right click on &amp;quot;Hudson Builders&amp;quot;: &lt;br /&gt;
[[File:Setting-up-jenkins-CI-in-netbeans-step1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, fill in the URL of the Jenkins CI server: [[File:Setting-up-jenkins-CI-in-netbeans-step2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once completed, you should see this: [[File:Jenkins-integration-in-netbeans.png]]&lt;br /&gt;
&lt;br /&gt;
= Setting up remote development =&lt;br /&gt;
&lt;br /&gt;
Remote development involves setting up a SSH connection profile in NetBeans in order to connect to a Unix/Linux server so that you can remotely build FlightGear and its dependencies, this can for example be useful for cross-compilation, but also if you don't want to, or cannot, set up all required tools, such as compilers, locally.&lt;br /&gt;
&lt;br /&gt;
Also, on Windows, this makes it possible to use a Linux sever for building, debugging and instrumenting/profiling FlightGear, while editing the source code on a Windows box. This means that you can use standard Linux tools such as gcov,gprof or valgrind while editing your code under Windows.&lt;br /&gt;
&lt;br /&gt;
To get started, you should have an understanding of Linux and using SSH. In particular, you should know how to set up a SSH connection, including authentication (SSH keys). Obviously, for NetBeans it really doesn't matter if the Linux/Unix server is running in the same LAN or across the internet in the form of an affordable VPS box. You could even run a virtual private server on Windows using VirtualBox or CoLinux.&lt;br /&gt;
&lt;br /&gt;
Once you have set up a new account to the corresponding Linux box, you only need to switch to the &amp;quot;Services&amp;quot; tab, go to &amp;quot;C/C++ Build Hosts&amp;quot;, open a context menu and &amp;quot;add a new host&amp;quot;: [[File:Netbeans-set-up-remote-building-step1.png]]&lt;br /&gt;
&lt;br /&gt;
Next, add the address (or hostname), and the correct SSH port: [[File:Netbeans-set-up-remote-building-step2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=OpenSceneGraph&amp;diff=40479</id>
		<title>OpenSceneGraph</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=OpenSceneGraph&amp;diff=40479"/>
		<updated>2012-02-10T03:12:37Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Compiling OpenSceneGraph */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As of October 29th 2006, [[FlightGear]] has migrated graphics functions from [[PLIB]] to '''OpenSceneGraph'''. [[FlightGear 1.9.0]], released Decemeber 22, 2008, marked the release of the OSG version of FlightGear. [[PLIB]] is still used for network, joystick and gui functions.&lt;br /&gt;
&lt;br /&gt;
Thanks to Mathias Fröhlich and Tim Moore, we can use recent OpenSceneGraph releases.&lt;br /&gt;
&lt;br /&gt;
[[File:Flightgear uml associations class diagram.png|thumb|270px|An [[UML Diagrams|UML]] class diagram disclosing the associations between some classes of the FlightGear source code.]]&lt;br /&gt;
&lt;br /&gt;
= Downloading OpenSceneGraph =&lt;br /&gt;
&lt;br /&gt;
== Downloading Stable OpenSceneGraph ==&lt;br /&gt;
The OpenSceneGraph project uses [http://svnbook.red-bean.com/nightly/en/index.html Subversion (SVN)] to distribute their sources.&lt;br /&gt;
&lt;br /&gt;
'''Note''': The source code should not be downloaded to the build.osg directory, or the build will not work correctly. See below.&lt;br /&gt;
&lt;br /&gt;
To download the '''latest stable version''' of OpenSceneGraph use:&lt;br /&gt;
&lt;br /&gt;
    svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1 OpenSceneGraph&lt;br /&gt;
&lt;br /&gt;
'''Manual Download''': If you don't want to use SVN, you can also pick a stable release from the OSG download page:&lt;br /&gt;
&lt;br /&gt;
 http://www.openscenegraph.org/projects/osg/wiki/Downloads&lt;br /&gt;
&lt;br /&gt;
If the main OSG site is down (frequently) you can also use one of its various mirrors:&lt;br /&gt;
&lt;br /&gt;
 http://www.freebsd.org/cgi/pds.cgi?ports/graphics/osg&lt;br /&gt;
&lt;br /&gt;
== OpenSceneGraph developer versions ==&lt;br /&gt;
FlightGear developers may want to use a '''development release''' of OpenSceneGraph:&lt;br /&gt;
&lt;br /&gt;
    svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.9 OpenSceneGraph&lt;br /&gt;
&lt;br /&gt;
You can replace the &amp;quot;2.9.9&amp;quot; by future development OSG versions (if known to be compatible with FlightGear).&lt;br /&gt;
&lt;br /&gt;
Alternatively, developers interested in '''today's OSG development''' can download the current OSG trunk.&lt;br /&gt;
&lt;br /&gt;
'''WARNING''': The sources of current OSG development aren't always compatible with FlightGear. Only use these if you're interested in OSG development or developing new OSG features for FlightGear:&lt;br /&gt;
&lt;br /&gt;
    svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph&lt;br /&gt;
&lt;br /&gt;
= Compiling OpenSceneGraph =&lt;br /&gt;
&lt;br /&gt;
OpenSceneGraph uses cmake. Since OSG version 2.7.3 (8th Oct 2008) a relatively new version of cmake is required. According to OSGs CMakeLists.txt it's 2.6.1 but cmake 2.6.0-5 from [http://backports.org/dokuwiki/doku.php backports.org] for Debian/Etch does the trick.&lt;br /&gt;
It's also possible to comment out lines 25 to 27 in OSGs CMakeLists.txt:&lt;br /&gt;
 #    if(POLICY CMP0008)&lt;br /&gt;
 #        cmake_policy(SET CMP0008 OLD)&lt;br /&gt;
 #    endif(POLICY CMP0008)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A minimal build instruction for unix systems is&lt;br /&gt;
&lt;br /&gt;
 mkdir build.osg&lt;br /&gt;
 cd build.osg&lt;br /&gt;
 cmake ../path/to/osg/source&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
On other systems the steps might be different.&lt;br /&gt;
&lt;br /&gt;
Recommended options to set in the cmake menus:&lt;br /&gt;
* Build type: Release&lt;br /&gt;
* You don't need to build the examples, wrappers or applications.&lt;br /&gt;
&lt;br /&gt;
== Installing OpenSceneGraph and FlightGear with --prefix ==&lt;br /&gt;
&lt;br /&gt;
If you use --prefix to choose were to install FlightGear and do not want to install OSG globally on the system this can be done with the following method:&lt;br /&gt;
&lt;br /&gt;
OpenSceneGraph uses cmake so to build it do&lt;br /&gt;
&lt;br /&gt;
  mkdir build.osg&lt;br /&gt;
  cd build.osg&lt;br /&gt;
  cmake -D CMAKE_BUILD_TYPE=&amp;quot;Release&amp;quot; -D CMAKE_CXX_FLAGS_RELEASE=&amp;quot;-O3 -pipe&amp;quot; -D CMAKE_C_FLAGS_RELEASE=&amp;quot;-O3 -pipe&amp;quot; \&lt;br /&gt;
        -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;${MY_PREFIX}&amp;quot; ../path/to/osg/source&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
or if you want to avoid needing to set LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
  mkdir build.osg&lt;br /&gt;
  cd build.osg&lt;br /&gt;
  cmake -D CMAKE_BUILD_TYPE=&amp;quot;Release&amp;quot; -D CMAKE_CXX_FLAGS_RELEASE=&amp;quot;-O3 -pipe&amp;quot; -D CMAKE_C_FLAGS_RELEASE=&amp;quot;-O3 -pipe&amp;quot; \&lt;br /&gt;
        -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;${MY_PREFIX}&amp;quot; -D CMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOLEAN=&amp;quot;true&amp;quot; ../path/to/osg/source&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configure and build SimGear and FlightGear with --prefix as usual.&lt;br /&gt;
&lt;br /&gt;
No need to install any quickly changing software globally.&lt;br /&gt;
&lt;br /&gt;
Installing with --prefix is a very nice way to keep several distinct and independent versions of FlightGear around. To start a new $PREFIX directory you'll also need to install plib in it, but that is easy. Most other needed dependencies are usually available through the package system of most Linux distributions (e.g. FreeGLUT, SDL, ALSA, etc).&lt;br /&gt;
&lt;br /&gt;
== lib64 ==&lt;br /&gt;
Content moved to [[Talk:OpenSceneGraph]] for now.&lt;br /&gt;
&lt;br /&gt;
= Features and issues =&lt;br /&gt;
&lt;br /&gt;
== Regressions in CVS/HEAD ==&lt;br /&gt;
This section is meant to always remain up to date with the latest version in CVS/HEAD, please make sure to add/delete items as necessary.&lt;br /&gt;
* feature to disable scenery rendering via /sim/rendering/draw-otw property is not working at the moment (11/2008)&lt;br /&gt;
&lt;br /&gt;
== Current issues (very out of date) ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;The 2D Panels and the rendering order of instruments ... is wrong.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* transparency issues:&lt;br /&gt;
** &amp;lt;strike&amp;gt;runway lights shine through panel:&amp;lt;/strike&amp;gt;&lt;br /&gt;
** runway lights shine through cloud layers in an awkward way:&lt;br /&gt;
** 2D-cloud layers flood into cockpit&lt;br /&gt;
** The prop of the C172 block the view on the waves of the carrier&lt;br /&gt;
** The reflector gun sight on the Seahawk causes other transparent objects (carrier wake etc.) to disappear&lt;br /&gt;
** A new overhead window in the C172 (inside out)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;Runway lighting seems to have rendering artefacts on ATI Cards.&amp;lt;strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;Enhanced runway lighting option in the drop-down menu seems to have no effect - light always appear enhanced.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;Seneca II HSI: upper instrument clipping issue for NAV/HDG flags, heading bug, pointer&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[List of 'compatible' aircraft]] TO BE CONTINUED ('''NOTE:''' the list is out of date.)&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
Due to the migration from PLIB to OSG, some of the features seen in past versions of FlightGear are now temporarily non-functional. These are:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;3D clouds&amp;lt;/strike&amp;gt; 3D clouds back thanks to Stuart Buchanan still have some visual artifacts&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;Rendering of some scenes is not perfect.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Shadows&lt;br /&gt;
&lt;br /&gt;
* Exhaust shader&lt;br /&gt;
&lt;br /&gt;
* Weather Radar is not showing any clouds&lt;br /&gt;
&lt;br /&gt;
* cloud layers don't follow the curve of the earth&lt;br /&gt;
&lt;br /&gt;
* Menu Items have no effect&lt;br /&gt;
** Enhanced Runway Lights&lt;br /&gt;
** Bump Mapped Clouds&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous OSG benefits ==&lt;br /&gt;
* Models and scenery load in a separate thread&lt;br /&gt;
* Tree shaders allow &amp;quot;forests&amp;quot; of trees&lt;br /&gt;
* Improved precipitation modeling&lt;br /&gt;
* &amp;quot;Pick&amp;quot; animations enable greater realism and ease of creation for 3D cockpits&lt;br /&gt;
* Multi-monitor views&lt;br /&gt;
&lt;br /&gt;
Mathias: &amp;quot;I think that we should make use in the longer term of the Producers &lt;br /&gt;
capabilities for multiple view installations.&lt;br /&gt;
But not only multipipe installs will benefit from that. The Producer will also &lt;br /&gt;
help to get benefit from multicore SMP machines.&lt;br /&gt;
For that the following article is of huge interest:&lt;br /&gt;
http://www.donburns.net/OSG/Articles/OSGMP/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Getting the PLIB Code =&lt;br /&gt;
&lt;br /&gt;
Use the tag &amp;lt;tt&amp;gt;PRE_OSG_PLIB_20061029&amp;lt;/tt&amp;gt; for checking out the branch with the plib scenegraph.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For SimGear, this works (more or less) as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     '''cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login'''&lt;br /&gt;
     '''CVS passwd: guest'''&lt;br /&gt;
     '''cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source'''&lt;br /&gt;
     '''cd source'''&lt;br /&gt;
     '''cvs up -rPRE_OSG_PLIB_20061029'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For FlightGear, you have to update the &amp;quot;source&amp;quot; directory:&lt;br /&gt;
&lt;br /&gt;
     '''cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login'''&lt;br /&gt;
     '''CVS passwd: guest'''&lt;br /&gt;
     '''cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co -rPRE_OSG_PLIB_20061029 source&lt;br /&gt;
'''&lt;br /&gt;
The data directory should be the CVS HEAD version. Some aircraft, however, have a PRE_OSG_PLIB_20061029 branch that works better with FlightGear/plib, e.g Hawker Hunter.&lt;br /&gt;
&lt;br /&gt;
= External link =&lt;br /&gt;
* http://www.openscenegraph.org/&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Git&amp;diff=40282</id>
		<title>FlightGear Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Git&amp;diff=40282"/>
		<updated>2012-02-08T03:52:56Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Local Branch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FlightGearGitOn}}&lt;br /&gt;
'''Git''' is a version control system used by the [[FlightGear]] project to store all of the files required to build FlightGear, as well as data (mainly [[aircraft]]). Git tracks updates to every file as developers around the world work together concurrently to create new versions. &lt;br /&gt;
&lt;br /&gt;
While new FlightGear features and additions are in development, they are available from Git before they are available in the standard release version. Using Git allows a user to build the newest possible version of FlightGear from the latest source files, to experiment with new aircraft or other features. However, it's not a beginner's tool. Using Git can expose the user to unstable features that show ugly error messages, or crash the computer. &lt;br /&gt;
&lt;br /&gt;
In May 2010, after a hardware failure on the [[CVS]] servers, the FlightGear project changed version control system from CVS to Git. The Git repositories are located at [http://gitorious.org/fg Gitorious] and at the [http://mapserver.flightgear.org/git/?p=fgdata;a=summary Mapserver].&lt;br /&gt;
&lt;br /&gt;
Due to the &amp;quot;recent&amp;quot; switch, we are currently doing our best on providing manuals for obtaining FlightGear through Git. The following articles are work in progress:&lt;br /&gt;
* '''Mac OS X:''' [[FlightGear Git on Mac OS X]]&lt;br /&gt;
* '''Windows:''' [[FlightGear Git on Windows]]&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
Much has been written on the advantages of Git over CVS. For us, some advantages are:&lt;br /&gt;
* Much better support for branches and merging branches. This is especially important for creating bug-fix releases for major releases while still allowing work on the next major release to continue. It is also very nice for a developer's personal workflow.&lt;br /&gt;
* Easier path for contributors to submit changes and developers to integrate them;&lt;br /&gt;
* Much better support for everyday tasks like searching the project history for changes, viewing changes, bisecting the project history to find the original source of a bug.&lt;br /&gt;
&lt;br /&gt;
Also, as noted before, the CVS servers had a hardware failure on May 2010, speeding up FlightGear's change to Git.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Repositories and Branches ==&lt;br /&gt;
For historical reasons there continue to be separate repositories for SimGear and FlightGear '''source'''. For most users and developers the most interesting ones of each are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; The current tip of new development. This branch should always compile and run, but various things could be broken.&lt;br /&gt;
* &amp;lt;tt&amp;gt;release/*&amp;lt;/tt&amp;gt; The branch subdirectory containing former and, if there is one, upcoming releases.&lt;br /&gt;
For other available branches have a look at our [http://gitorious.org/fg/flightgear#more repository] at gitorious.org. The following two branches are as of now (May 2011) very much out of date. '''Do not use'''.&lt;br /&gt;
* &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; The tip of stable, tested new features. If we were to make a new release today, we would start from the tip of this branch. New features that have been &amp;quot;cooking&amp;quot; in the &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch for a few days or weeks will be merged here.&lt;br /&gt;
* &amp;lt;tt&amp;gt;maint&amp;lt;/tt&amp;gt; Bug fixes for the most recently released Flightgear. When a release is made from &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt;, this branch is reset to it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FlightGear '''data''''s branches of interest are:&lt;br /&gt;
* &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; The one that is used with the &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch of the source.&lt;br /&gt;
* &amp;lt;tt&amp;gt;release/*&amp;lt;/tt&amp;gt; Same as for the source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This arrangement follows the scheme used by the Git maintainers.&lt;br /&gt;
[http://www.kernel.org/pub/software/scm/git/docs/howto/maintain-git.txt This description] is very technical; you will surely have achieved git-fu if completely understand it. However, the idea of maintaining several branches of different stability is common in collaborative software projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone and handle Repositories ==&lt;br /&gt;
=== Quick checkout ===&lt;br /&gt;
# Check on gitorious for valid projects: http://gitorious.org/fg&lt;br /&gt;
# Cloning Simgear&lt;br /&gt;
# Cloning FlightGear&lt;br /&gt;
# Cloning FGData&lt;br /&gt;
&lt;br /&gt;
By default you will be checking out the &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch of SimGear and FlightGear and the &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; branch of FGData. This is probably what you want if you want to assist with reporting bugs and the like before they are release as a proper release version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== For dummies ===&lt;br /&gt;
Some basic git commands on how to clone, update and handle local git repositories. Except the initial ''git clone'' for each repository all commands have to be executed from within the ''target'' folder.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cloning SimGear ====&lt;br /&gt;
;&amp;lt;code&amp;gt;git clone git://gitorious.org/fg/simgear.git [target]&amp;lt;/code&amp;gt;&lt;br /&gt;
: the folder ''target'' will be created and a clone of the SimGear repo stored inside it. If no ''target'' is given the new folder's name is &amp;lt;code&amp;gt;simgear&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;''' into the new folder. You are then inside the ''working tree'' of this git repo. The repo itself is stored inside the subfolder &amp;lt;tt&amp;gt;.git&amp;lt;/tt&amp;gt;, which we mustn't edit manually. Git will take care of that.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git branch&amp;lt;/code&amp;gt;&lt;br /&gt;
: will show the active [[FlightGear and Git#Repositories and Branches|branch]]. Right after download this will be &amp;lt;tt&amp;gt;* next&amp;lt;/tt&amp;gt;, that means the content of the ''working tree'' is the bleeding edge of SimGear's source code.&lt;br /&gt;
:;&amp;lt;code&amp;gt;git branch -a&amp;lt;/code&amp;gt;&lt;br /&gt;
:: will list all branches of a git repository. The one marked with an asterisk (*) is the active one.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;&lt;br /&gt;
: will change the active [[FlightGear and Git#Repositories and Branches|branch]] to &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt;. Means, that the content of the ''working tree'' will be changed to that state.&lt;br /&gt;
&lt;br /&gt;
:;&amp;lt;code&amp;gt;git checkout v2.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
:: will activate the state of the code inside the &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; branch at the time FG 2.0.0 was released.&lt;br /&gt;
:;&amp;lt;code&amp;gt;git tag&amp;lt;/code&amp;gt;&lt;br /&gt;
:: will show all tags of the history of the active branch.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
: will update the local repo from the remote one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cloning FlightGear ====&lt;br /&gt;
Except for the initial clone command this is identical to [[FlightGear and Git#Cloning SimGear|Cloning SimGear]].&lt;br /&gt;
;&amp;lt;code&amp;gt;git clone git://gitorious.org/fg/flightgear.git [target]&amp;lt;/code&amp;gt;&lt;br /&gt;
To successfully compile &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; Flight- and SimGear's ''working tree'' must have the same state.&lt;br /&gt;
&lt;br /&gt;
==== Cloning fgdata ====&lt;br /&gt;
At the time of writing the data repository is about ''3.4 GB''. Continuing an interrupted cloning of a repository is '''not supported''' with git. Therefore, if you have a slow or unstable connection to the internet, it is recommended to download the [[FlightGear and Git#fgdata.bundle|fgdata.bundle]].&lt;br /&gt;
&lt;br /&gt;
Also have in mind, that the repository plus the ''working tree'' will be more than twice the size of the download on your local filesystem.&lt;br /&gt;
&lt;br /&gt;
There is neither a &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch nor any tags in that repository. If you want to build FlightGear 2.0.0 you may fetch the data (FlightGear-data-2.0.0.tar.bz2) at one of the [http://flightgear.org/mirrors.html mirrors].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git clone git://mapserver.flightgear.org/fgdata/ [target]&amp;lt;/code&amp;gt;&lt;br /&gt;
: if no ''target'' is given the new folder's name is &amp;lt;tt&amp;gt;fgdata&amp;lt;/tt&amp;gt;&lt;br /&gt;
'''&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;''' into the new directory and verify it's state with '''&amp;lt;code&amp;gt;git branch&amp;lt;/code&amp;gt;'''. If it isn't &amp;lt;tt&amp;gt;* master&amp;lt;/tt&amp;gt;, do a '''&amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Local Branch ====&lt;br /&gt;
To make individual changes, like editing a joystick file or add a plane to fgdata or patch the source code, it is recommended to create a local branch inside that repository. The following commands will describe a way to achieve this. But have in mind, that this is very basic and only suits for users who have minor changes.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;''' into the repositories folder, e.g. fgdata:&lt;br /&gt;
;&amp;lt;code&amp;gt;git checkout -b master.local master&amp;lt;/code&amp;gt;&lt;br /&gt;
: a new branch &amp;lt;tt&amp;gt;master.local&amp;lt;/tt&amp;gt; is created out of the &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; branch and set as the active one. You may now apply your individual stuff there and start FlightGear to verify the changes are proper.&lt;br /&gt;
&lt;br /&gt;
If you conclude they are, you have to tell git about those changes:&lt;br /&gt;
;&amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
: will give you a list of files that have been altered or that are new.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git add -i&amp;lt;/code&amp;gt;&lt;br /&gt;
: will show the files that have been altered and give you options on what to do next. &amp;lt;code&amp;gt;git add&amp;lt;/code&amp;gt; does not actually add the changes to ''master.local'' but adds them to the ''index''.&lt;br /&gt;
: '''&amp;lt;tt&amp;gt;[a]dd&amp;lt;/tt&amp;gt;''' will add new paths/files (called ''untracked'' in status) from the ''working tree'' to the ''index''. This has to be done only if you have added paths/files, like an aircraft, to the ''working tree''.&lt;br /&gt;
: If git finds more than one ''untracked'' file/path, it will give you a numbered list and prompt to select which ones should be added. An empty input will exit this mode. See &amp;quot;Interactive mode&amp;quot; in [http://www.kernel.org/pub/software/scm/git/docs/git-add.html man git add] for more details.&lt;br /&gt;
: '''&amp;lt;tt&amp;gt;[u]pdate&amp;lt;/tt&amp;gt;''' is the next step and will update the altered and ''tracked'' files to the index in the same manner as explained in &amp;lt;tt&amp;gt;add&amp;lt;/tt&amp;gt; untracked paths above.&lt;br /&gt;
;&amp;lt;code&amp;gt;git commit&amp;lt;/code&amp;gt;&lt;br /&gt;
: will commit the ''indexed'' updates to the ''master.local'' branch. It opens a list of the updates in your standard editor. You may add a comment to that file describing the object of the commit. Save and exit the editor. You have now committed your changes inside the ''working tree'' to your personal branch.&lt;br /&gt;
&lt;br /&gt;
To update that personal branch from the remote one do the following steps:&lt;br /&gt;
 git checkout master           # switch to master branch&lt;br /&gt;
 git pull                      # update it&lt;br /&gt;
 git checkout master.local     # switch back to the individual branch&lt;br /&gt;
 git rebase master             # update it&lt;br /&gt;
&lt;br /&gt;
==== Some more helpful commands ====&lt;br /&gt;
;&amp;lt;code&amp;gt;git help&amp;lt;/code&amp;gt;&lt;br /&gt;
;&amp;lt;code&amp;gt;git help [commad]&amp;lt;/code&amp;gt;&lt;br /&gt;
;&amp;lt;code&amp;gt;git apply&amp;lt;/code&amp;gt;&lt;br /&gt;
: apply a patch to files and/or to the index http://www.kernel.org/pub/software/scm/git/docs/git-apply.html&lt;br /&gt;
;&amp;lt;code&amp;gt;git checkout -f&amp;lt;/code&amp;gt;&lt;br /&gt;
: may be used to throw away any local changes to the ''working tree''. Use with care, as any option that name is &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;--force&amp;lt;/tt&amp;gt;, and only after reading &amp;lt;code&amp;gt;git checkout help&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fgdata.bundle ===&lt;br /&gt;
For the FlightGear-data there are also bundles (snapshots) available that can be retrieved with your favourite download manager. This way you can resume interrupted downloads. After unpacking only a comparatively small amount of data has to be transferred from the git server to synchronize your repository.&lt;br /&gt;
&lt;br /&gt;
Download the bundle from&lt;br /&gt;
 $ wget http://flightgear.mxchange.org/pub/fgfs/fgdata.bundle&lt;br /&gt;
&lt;br /&gt;
The bundle may be periodically updated and bundles from different sources need not be the same. The file size for the above bundle dated 2011-12-13 is almost 4GB :-), while the md5 checksum is&lt;br /&gt;
 $ md5sum fgdata.bundle&lt;br /&gt;
 145f4e190fd1a02fd75c1d508b8c2ec3  fgdata.bundle &lt;br /&gt;
&lt;br /&gt;
 Caution: should be that. If the bundle is updated, not be the same.&lt;br /&gt;
&lt;br /&gt;
Do the following steps to extract the bundle and bring the repository up to date:&lt;br /&gt;
 $ git clone fgdata.bundle fgdata&lt;br /&gt;
 Initialized empty Git repository in fgdata/.git/&lt;br /&gt;
 warning: unrecognized header: -deg&amp;quot; - /orientation/roll += &amp;quot;-deg&amp;quot; - /position/altitude += &amp;quot;-ft&amp;quot; - /position/altitude-agl += &amp;quot;-ft&amp;quot; - /position/latitude += &amp;quot;-deg&amp;quot; - /position/longitude += &amp;quot;-deg&amp;quot; [...]&lt;br /&gt;
 $ cd fgdata&lt;br /&gt;
 $ git checkout -b master-tmp&lt;br /&gt;
 Switched to a new branch 'master-tmp'&lt;br /&gt;
 $ git remote rm origin&lt;br /&gt;
 $ git remote add origin git://gitorious.org/fg/fgdata&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
 remote: Counting objects: 5011, done.&lt;br /&gt;
 remote: Compressing objects: 100% (2206/2206), done.&lt;br /&gt;
 remote: Total 3512 (delta 1948), reused 2321 (delta 1239)&lt;br /&gt;
 Receiving objects: 100% (3512/3512), 161.20 MiB | 474 KiB/s, done.&lt;br /&gt;
 Resolving deltas: 100% (1948/1948), completed with 698 local objects.&lt;br /&gt;
 From git://gitorious.org/fg/fgdata&lt;br /&gt;
  * [new branch]      PRE_OSG_PLIB_20061029 -&amp;gt; origin/PRE_OSG_PLIB_20061029&lt;br /&gt;
  * [new branch]      master     -&amp;gt; origin/master&lt;br /&gt;
  * [new branch]      releases/2.2.0 -&amp;gt; origin/releases/2.2.0&lt;br /&gt;
  * [new tag]         last-cvs   -&amp;gt; last-cvs&lt;br /&gt;
  * [new tag]         mapserver  -&amp;gt; mapserver&lt;br /&gt;
 From git://gitorious.org/fg/fgdata&lt;br /&gt;
  * [new tag]         last-cvs   -&amp;gt; last-cvs&lt;br /&gt;
  * [new tag]         mapserver  -&amp;gt; mapserver&lt;br /&gt;
 $ git branch --track master origin/master&lt;br /&gt;
 Branch master set up to track remote branch refs/remotes/origin/master.&lt;br /&gt;
 $ git checkout master&lt;br /&gt;
 Checking out files: 100% (1117/1117), done.&lt;br /&gt;
 Switched to branch 'master'&lt;br /&gt;
 $ git branch -D master-tmp&lt;br /&gt;
 Deleted branch master-tmp.&lt;br /&gt;
&lt;br /&gt;
If you get an error at '''&amp;lt;code&amp;gt;git fetch origin&amp;lt;/code&amp;gt;''' try:&lt;br /&gt;
 $ git remote rm origin&lt;br /&gt;
 $ git remote add origin git://mapserver.flightgear.org/fgdata/&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
You should be suspicious if based on the printed progress you estimate the data download during the fetch will exceed 1GB (assuming the bundle is not terribly outdated).&lt;br /&gt;
&lt;br /&gt;
For future updates just do a '''&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
== Merge requests ==&lt;br /&gt;
=== Create ===&lt;br /&gt;
Make a clone of fgdata, by clicking the [https://gitorious.org/fg/fgdata/clone clone repository] button on Gitorious. &lt;br /&gt;
&lt;br /&gt;
 # normal commit workflow 	#&lt;br /&gt;
 # git commit 			#&lt;br /&gt;
 &lt;br /&gt;
 git fetch						# to get the latest commits from fgdata&lt;br /&gt;
 git rebase origin/master				# place your own commit on top of the latest commits&lt;br /&gt;
 git push git@gitorious.org:~name/fg/namess-fgdata.git	# replace the url with your fgdata-clone's SSH url&lt;br /&gt;
&lt;br /&gt;
Go to your fgdata-clone on Gitorious and click the &amp;quot;Request merge&amp;quot; button on the right. Write a short summary in which you explain what your commit(s) do. Then choose the following settings:&lt;br /&gt;
* Target directory: fgdata&lt;br /&gt;
* Target branch: master&lt;br /&gt;
* Source branch: master&lt;br /&gt;
Next select the commits you'd like to include in your merge request and click &amp;quot;Create merge request&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Push/merge ===&lt;br /&gt;
To push merge request to fgdata, the following workflow can be followed:&lt;br /&gt;
 git checkout -b integration						# the integration branch should not yet exist. You can use any name you'd like&lt;br /&gt;
 git pull git://gitorious.org/fg/fgdata.git refs/merge-requests/1	# make sure you change 1 to the id of the merge request&lt;br /&gt;
 git rebase master							# place the new commits on top of existing commits (without ugly &amp;quot;Merge branch into ...&amp;quot;)&lt;br /&gt;
 git checkout master&lt;br /&gt;
 git cherry-pick b049e1d							# repeat this for each commit you'd like to push&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
=== Git tutorials and resources ===&lt;br /&gt;
* Git [http://git-scm.com/documentation documentation and tutorials]&lt;br /&gt;
* Git as a [http://tomayko.com/topics/git way of life].&lt;br /&gt;
* The [https://git.wiki.kernel.org/index.php/GitCheatSheet Git Cheat Sheet] and the [http://jan-krueger.net/development/git-cheat-sheet-extended-edition Git Cheat Sheet Extended Edition]&lt;br /&gt;
* [http://wiki.github.com/bogolisk/egg Egg], a cool Git emacs mode.&lt;br /&gt;
* A guide to [http://nathanj.github.com/gitguide/ using Git on Windows]&lt;br /&gt;
* [http://kylecordes.com/2008/04/30/git-windows-go/ Git on Windows Go!] (Setting up msysgit on Windows)&lt;br /&gt;
* [http://gitcasts.com/posts/git-on-windows Git on Windows (webcast)]&lt;br /&gt;
* [http://sourceforge.net/projects/qgit qgit - interactive git repository viewer and frontend]&lt;br /&gt;
* Additional [[Resources WRT running git on Win32]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Git&amp;diff=40279</id>
		<title>FlightGear Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Git&amp;diff=40279"/>
		<updated>2012-02-08T01:38:20Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* Cloning FlightGear */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FlightGearGitOn}}&lt;br /&gt;
'''Git''' is a version control system used by the [[FlightGear]] project to store all of the files required to build FlightGear, as well as data (mainly [[aircraft]]). Git tracks updates to every file as developers around the world work together concurrently to create new versions. &lt;br /&gt;
&lt;br /&gt;
While new FlightGear features and additions are in development, they are available from Git before they are available in the standard release version. Using Git allows a user to build the newest possible version of FlightGear from the latest source files, to experiment with new aircraft or other features. However, it's not a beginner's tool. Using Git can expose the user to unstable features that show ugly error messages, or crash the computer. &lt;br /&gt;
&lt;br /&gt;
In May 2010, after a hardware failure on the [[CVS]] servers, the FlightGear project changed version control system from CVS to Git. The Git repositories are located at [http://gitorious.org/fg Gitorious] and at the [http://mapserver.flightgear.org/git/?p=fgdata;a=summary Mapserver].&lt;br /&gt;
&lt;br /&gt;
Due to the &amp;quot;recent&amp;quot; switch, we are currently doing our best on providing manuals for obtaining FlightGear through Git. The following articles are work in progress:&lt;br /&gt;
* '''Mac OS X:''' [[FlightGear Git on Mac OS X]]&lt;br /&gt;
* '''Windows:''' [[FlightGear Git on Windows]]&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
Much has been written on the advantages of Git over CVS. For us, some advantages are:&lt;br /&gt;
* Much better support for branches and merging branches. This is especially important for creating bug-fix releases for major releases while still allowing work on the next major release to continue. It is also very nice for a developer's personal workflow.&lt;br /&gt;
* Easier path for contributors to submit changes and developers to integrate them;&lt;br /&gt;
* Much better support for everyday tasks like searching the project history for changes, viewing changes, bisecting the project history to find the original source of a bug.&lt;br /&gt;
&lt;br /&gt;
Also, as noted before, the CVS servers had a hardware failure on May 2010, speeding up FlightGear's change to Git.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Repositories and Branches ==&lt;br /&gt;
For historical reasons there continue to be separate repositories for SimGear and FlightGear '''source'''. For most users and developers the most interesting ones of each are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; The current tip of new development. This branch should always compile and run, but various things could be broken.&lt;br /&gt;
* &amp;lt;tt&amp;gt;release/*&amp;lt;/tt&amp;gt; The branch subdirectory containing former and, if there is one, upcoming releases.&lt;br /&gt;
For other available branches have a look at our [http://gitorious.org/fg/flightgear#more repository] at gitorious.org. The following two branches are as of now (May 2011) very much out of date. '''Do not use'''.&lt;br /&gt;
* &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; The tip of stable, tested new features. If we were to make a new release today, we would start from the tip of this branch. New features that have been &amp;quot;cooking&amp;quot; in the &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch for a few days or weeks will be merged here.&lt;br /&gt;
* &amp;lt;tt&amp;gt;maint&amp;lt;/tt&amp;gt; Bug fixes for the most recently released Flightgear. When a release is made from &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt;, this branch is reset to it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FlightGear '''data''''s branches of interest are:&lt;br /&gt;
* &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; The one that is used with the &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch of the source.&lt;br /&gt;
* &amp;lt;tt&amp;gt;release/*&amp;lt;/tt&amp;gt; Same as for the source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This arrangement follows the scheme used by the Git maintainers.&lt;br /&gt;
[http://www.kernel.org/pub/software/scm/git/docs/howto/maintain-git.txt This description] is very technical; you will surely have achieved git-fu if completely understand it. However, the idea of maintaining several branches of different stability is common in collaborative software projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone and handle Repositories ==&lt;br /&gt;
=== Quick checkout ===&lt;br /&gt;
# Check on gitorious for valid projects: http://gitorious.org/fg&lt;br /&gt;
# Cloning Simgear&lt;br /&gt;
# Cloning FlightGear&lt;br /&gt;
# Cloning FGData&lt;br /&gt;
&lt;br /&gt;
By default you will be checking out the &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch of SimGear and FlightGear and the &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; branch of FGData. This is probably what you want if you want to assist with reporting bugs and the like before they are release as a proper release version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== For dummies ===&lt;br /&gt;
Some basic git commands on how to clone, update and handle local git repositories. Except the initial ''git clone'' for each repository all commands have to be executed from within the ''target'' folder.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cloning SimGear ====&lt;br /&gt;
;&amp;lt;code&amp;gt;git clone git://gitorious.org/fg/simgear.git [target]&amp;lt;/code&amp;gt;&lt;br /&gt;
: the folder ''target'' will be created and a clone of the SimGear repo stored inside it. If no ''target'' is given the new folder's name is &amp;lt;code&amp;gt;simgear&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;''' into the new folder. You are then inside the ''working tree'' of this git repo. The repo itself is stored inside the subfolder &amp;lt;tt&amp;gt;.git&amp;lt;/tt&amp;gt;, which we mustn't edit manually. Git will take care of that.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git branch&amp;lt;/code&amp;gt;&lt;br /&gt;
: will show the active [[FlightGear and Git#Repositories and Branches|branch]]. Right after download this will be &amp;lt;tt&amp;gt;* next&amp;lt;/tt&amp;gt;, that means the content of the ''working tree'' is the bleeding edge of SimGear's source code.&lt;br /&gt;
:;&amp;lt;code&amp;gt;git branch -a&amp;lt;/code&amp;gt;&lt;br /&gt;
:: will list all branches of a git repository. The one marked with an asterisk (*) is the active one.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;&lt;br /&gt;
: will change the active [[FlightGear and Git#Repositories and Branches|branch]] to &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt;. Means, that the content of the ''working tree'' will be changed to that state.&lt;br /&gt;
&lt;br /&gt;
:;&amp;lt;code&amp;gt;git checkout v2.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
:: will activate the state of the code inside the &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; branch at the time FG 2.0.0 was released.&lt;br /&gt;
:;&amp;lt;code&amp;gt;git tag&amp;lt;/code&amp;gt;&lt;br /&gt;
:: will show all tags of the history of the active branch.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
: will update the local repo from the remote one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cloning FlightGear ====&lt;br /&gt;
Except for the initial clone command this is identical to [[FlightGear and Git#Cloning SimGear|Cloning SimGear]].&lt;br /&gt;
;&amp;lt;code&amp;gt;git clone git://gitorious.org/fg/flightgear.git [target]&amp;lt;/code&amp;gt;&lt;br /&gt;
To successfully compile &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; Flight- and SimGear's ''working tree'' must have the same state.&lt;br /&gt;
&lt;br /&gt;
==== Cloning fgdata ====&lt;br /&gt;
At the time of writing the data repository is about ''3.4 GB''. Continuing an interrupted cloning of a repository is '''not supported''' with git. Therefore, if you have a slow or unstable connection to the internet, it is recommended to download the [[FlightGear and Git#fgdata.bundle|fgdata.bundle]].&lt;br /&gt;
&lt;br /&gt;
Also have in mind, that the repository plus the ''working tree'' will be more than twice the size of the download on your local filesystem.&lt;br /&gt;
&lt;br /&gt;
There is neither a &amp;lt;tt&amp;gt;next&amp;lt;/tt&amp;gt; branch nor any tags in that repository. If you want to build FlightGear 2.0.0 you may fetch the data (FlightGear-data-2.0.0.tar.bz2) at one of the [http://flightgear.org/mirrors.html mirrors].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git clone git://mapserver.flightgear.org/fgdata/ [target]&amp;lt;/code&amp;gt;&lt;br /&gt;
: if no ''target'' is given the new folder's name is &amp;lt;tt&amp;gt;fgdata&amp;lt;/tt&amp;gt;&lt;br /&gt;
'''&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;''' into the new directory and verify it's state with '''&amp;lt;code&amp;gt;git branch&amp;lt;/code&amp;gt;'''. If it isn't &amp;lt;tt&amp;gt;* master&amp;lt;/tt&amp;gt;, do a '''&amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Local Branch ====&lt;br /&gt;
To make individual changes, like editing a joystick file or add a plane to fgdata or patch the source code, it is recommended to create a local branch inside that repository. The following commands will describe a way to achieve this. But have in mind, that this is very basic and only suits for users who have minor changes.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;''' into the repositories folder, e.g. fgdata:&lt;br /&gt;
;&amp;lt;code&amp;gt;git checkout -b master.local master&amp;lt;/code&amp;gt;&lt;br /&gt;
: a new branch &amp;lt;tt&amp;gt;master.local&amp;lt;/tt&amp;gt; is created out of the &amp;lt;tt&amp;gt;master&amp;lt;/tt&amp;gt; branch and set as the active one. You may now apply your individual stuff there and start FlightGear to verify the changes are propper.&lt;br /&gt;
&lt;br /&gt;
If you conclude they are, you have to tell git about those changes:&lt;br /&gt;
;&amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
: will give you a list of files that have been altered or that are new.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;git add -i&amp;lt;/code&amp;gt;&lt;br /&gt;
: will show the files that have been altered and give you options on what to do next. &amp;lt;code&amp;gt;git add&amp;lt;/code&amp;gt; does not actually add the changes to ''master.local'' but adds them to the ''index''.&lt;br /&gt;
: '''&amp;lt;tt&amp;gt;[a]dd&amp;lt;/tt&amp;gt;''' will add new paths/files (called ''untracked'' in status) from the ''working tree'' to the ''index''. This has to be done only if you have added paths/files, like an aircraft, to the ''working tree''.&lt;br /&gt;
: If git finds more than one ''untracked'' file/path, it will give you a numbered list and prompt to select which ones should be added. An empty input will exit this mode. See &amp;quot;Interactive mode&amp;quot; in [http://www.kernel.org/pub/software/scm/git/docs/git-add.html man git add] for more details.&lt;br /&gt;
: '''&amp;lt;tt&amp;gt;[u]pdate&amp;lt;/tt&amp;gt;''' is the next step and will update the altered and ''tracked'' files to the index in the same manner as explained in &amp;lt;tt&amp;gt;add&amp;lt;/tt&amp;gt; untracked paths above.&lt;br /&gt;
;&amp;lt;code&amp;gt;git commit&amp;lt;/code&amp;gt;&lt;br /&gt;
: will commit the ''indexed'' updates to the ''master.local'' branch. It opens a list of the updates in your standard editor. You may add a comment to that file describing the object of the commit. Save and exit the editor. You have now commited your changes inside the ''working tree'' to your personal branch.&lt;br /&gt;
&lt;br /&gt;
To update that personal branch from the remote one do the following steps:&lt;br /&gt;
 git checkout master           # switch to master branch&lt;br /&gt;
 git pull                      # update it&lt;br /&gt;
 git checkout master.local     # switch back to the individual branch&lt;br /&gt;
 git rebase master             # update it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Some more helpful commands ====&lt;br /&gt;
;&amp;lt;code&amp;gt;git help&amp;lt;/code&amp;gt;&lt;br /&gt;
;&amp;lt;code&amp;gt;git help [commad]&amp;lt;/code&amp;gt;&lt;br /&gt;
;&amp;lt;code&amp;gt;git apply&amp;lt;/code&amp;gt;&lt;br /&gt;
: apply a patch to files and/or to the index http://www.kernel.org/pub/software/scm/git/docs/git-apply.html&lt;br /&gt;
;&amp;lt;code&amp;gt;git checkout -f&amp;lt;/code&amp;gt;&lt;br /&gt;
: may be used to throw away any local changes to the ''working tree''. Use with care, as any option that name is &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;--force&amp;lt;/tt&amp;gt;, and only after reading &amp;lt;code&amp;gt;git checkout help&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fgdata.bundle ===&lt;br /&gt;
For the FlightGear-data there are also bundles (snapshots) available that can be retrieved with your favourite download manager. This way you can resume interrupted downloads. After unpacking only a comparatively small amount of data has to be transferred from the git server to synchronize your repository.&lt;br /&gt;
&lt;br /&gt;
Download the bundle from&lt;br /&gt;
 $ wget http://flightgear.mxchange.org/pub/fgfs/fgdata.bundle&lt;br /&gt;
&lt;br /&gt;
The bundle may be periodically updated and bundles from different sources need not be the same. The file size for the above bundle dated 2011-12-13 is almost 4GB :-), while the md5 checksum is&lt;br /&gt;
 $ md5sum fgdata.bundle&lt;br /&gt;
 145f4e190fd1a02fd75c1d508b8c2ec3  fgdata.bundle &lt;br /&gt;
&lt;br /&gt;
 Caution: should be that. If the bundle is updated, not be the same.&lt;br /&gt;
&lt;br /&gt;
Do the following steps to extract the bundle and bring the repository up to date:&lt;br /&gt;
 $ git clone fgdata.bundle fgdata&lt;br /&gt;
 Initialized empty Git repository in fgdata/.git/&lt;br /&gt;
 warning: unrecognized header: -deg&amp;quot; - /orientation/roll += &amp;quot;-deg&amp;quot; - /position/altitude += &amp;quot;-ft&amp;quot; - /position/altitude-agl += &amp;quot;-ft&amp;quot; - /position/latitude += &amp;quot;-deg&amp;quot; - /position/longitude += &amp;quot;-deg&amp;quot; [...]&lt;br /&gt;
 $ cd fgdata&lt;br /&gt;
 $ git checkout -b master-tmp&lt;br /&gt;
 Switched to a new branch 'master-tmp'&lt;br /&gt;
 $ git remote rm origin&lt;br /&gt;
 $ git remote add origin git://gitorious.org/fg/fgdata&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
 remote: Counting objects: 5011, done.&lt;br /&gt;
 remote: Compressing objects: 100% (2206/2206), done.&lt;br /&gt;
 remote: Total 3512 (delta 1948), reused 2321 (delta 1239)&lt;br /&gt;
 Receiving objects: 100% (3512/3512), 161.20 MiB | 474 KiB/s, done.&lt;br /&gt;
 Resolving deltas: 100% (1948/1948), completed with 698 local objects.&lt;br /&gt;
 From git://gitorious.org/fg/fgdata&lt;br /&gt;
  * [new branch]      PRE_OSG_PLIB_20061029 -&amp;gt; origin/PRE_OSG_PLIB_20061029&lt;br /&gt;
  * [new branch]      master     -&amp;gt; origin/master&lt;br /&gt;
  * [new branch]      releases/2.2.0 -&amp;gt; origin/releases/2.2.0&lt;br /&gt;
  * [new tag]         last-cvs   -&amp;gt; last-cvs&lt;br /&gt;
  * [new tag]         mapserver  -&amp;gt; mapserver&lt;br /&gt;
 From git://gitorious.org/fg/fgdata&lt;br /&gt;
  * [new tag]         last-cvs   -&amp;gt; last-cvs&lt;br /&gt;
  * [new tag]         mapserver  -&amp;gt; mapserver&lt;br /&gt;
 $ git branch --track master origin/master&lt;br /&gt;
 Branch master set up to track remote branch refs/remotes/origin/master.&lt;br /&gt;
 $ git checkout master&lt;br /&gt;
 Checking out files: 100% (1117/1117), done.&lt;br /&gt;
 Switched to branch 'master'&lt;br /&gt;
 $ git branch -D master-tmp&lt;br /&gt;
 Deleted branch master-tmp.&lt;br /&gt;
&lt;br /&gt;
If you get an error at '''&amp;lt;code&amp;gt;git fetch origin&amp;lt;/code&amp;gt;''' try:&lt;br /&gt;
 $ git remote rm origin&lt;br /&gt;
 $ git remote add origin git://mapserver.flightgear.org/fgdata/&lt;br /&gt;
 $ git fetch origin&lt;br /&gt;
You should be suspicious if based on the printed progress you estimate the data download during the fetch will exceed 1GB (assuming the bundle is not terribly outdated).&lt;br /&gt;
&lt;br /&gt;
For future updates just do a '''&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
== Merge requests ==&lt;br /&gt;
=== Create ===&lt;br /&gt;
Make a clone of fgdata, by clicking the [https://gitorious.org/fg/fgdata/clone clone repository] button on Gitorious. &lt;br /&gt;
&lt;br /&gt;
 # normal commit workflow 	#&lt;br /&gt;
 # git commit 			#&lt;br /&gt;
 &lt;br /&gt;
 git fetch						# to get the latest commits from fgdata&lt;br /&gt;
 git rebase origin/master				# place your own commit on top of the latest commits&lt;br /&gt;
 git push git@gitorious.org:~name/fg/namess-fgdata.git	# replace the url with your fgdata-clone's SSH url&lt;br /&gt;
&lt;br /&gt;
Go to your fgdata-clone on Gitorious and click the &amp;quot;Request merge&amp;quot; button on the right. Write a short summary in which you explain what your commit(s) do. Then choose the following settings:&lt;br /&gt;
* Target directory: fgdata&lt;br /&gt;
* Target branch: master&lt;br /&gt;
* Source branch: master&lt;br /&gt;
Next select the commits you'd like to include in your merge request and click &amp;quot;Create merge request&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Push/merge ===&lt;br /&gt;
To push merge request to fgdata, the following workflow can be followed:&lt;br /&gt;
 git checkout -b integration						# the integration branch should not yet exist. You can use any name you'd like&lt;br /&gt;
 git pull git://gitorious.org/fg/fgdata.git refs/merge-requests/1	# make sure you change 1 to the id of the merge request&lt;br /&gt;
 git rebase master							# place the new commits on top of existing commits (without ugly &amp;quot;Merge branch into ...&amp;quot;)&lt;br /&gt;
 git checkout master&lt;br /&gt;
 git cherry-pick b049e1d							# repeat this for each commit you'd like to push&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
=== Git tutorials and resources ===&lt;br /&gt;
* Git [http://git-scm.com/documentation documentation and tutorials]&lt;br /&gt;
* Git as a [http://tomayko.com/topics/git way of life].&lt;br /&gt;
* The [https://git.wiki.kernel.org/index.php/GitCheatSheet Git Cheat Sheet] and the [http://jan-krueger.net/development/git-cheat-sheet-extended-edition Git Cheat Sheet Extended Edition]&lt;br /&gt;
* [http://wiki.github.com/bogolisk/egg Egg], a cool Git emacs mode.&lt;br /&gt;
* A guide to [http://nathanj.github.com/gitguide/ using Git on Windows]&lt;br /&gt;
* [http://kylecordes.com/2008/04/30/git-windows-go/ Git on Windows Go!] (Setting up msysgit on Windows)&lt;br /&gt;
* [http://gitcasts.com/posts/git-on-windows Git on Windows (webcast)]&lt;br /&gt;
* [http://sourceforge.net/projects/qgit qgit - interactive git repository viewer and frontend]&lt;br /&gt;
* Additional [[Resources WRT running git on Win32]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Build_a_yoke_in_5_minutes&amp;diff=40180</id>
		<title>Howto:Build a yoke in 5 minutes</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Build_a_yoke_in_5_minutes&amp;diff=40180"/>
		<updated>2012-02-06T23:41:13Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Mouse yoke.jpg|thumb|270px]]&lt;br /&gt;
Using some every-day equipment and an optical mouse, you are able to '''build a''' (basic) '''yoke in just five minutes'''! The yoke can be directly used in [[FlightGear]].&lt;br /&gt;
&lt;br /&gt;
=== Required components ===&lt;br /&gt;
* The right sized cardboard box&lt;br /&gt;
* 1 empty paper towel/gladwrap/foil roll&lt;br /&gt;
* 1 piece of packing foam that loosely resembles a yoke&lt;br /&gt;
* 1 optical mouse&lt;br /&gt;
* 1 roll of sticky tape&lt;br /&gt;
* 1 pencil&lt;br /&gt;
* A pairing knife&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
# Using your roll as a guide mark out and cut a hole in the front and rear for the empty roll (now referred to as the control column) to slide through.&lt;br /&gt;
# Mark out the centre of your foam yoke but cut the hole slightly smaller and force it on to the control column. There should be enough friction for it to not need glue.&lt;br /&gt;
# Place the mouse on top of the box, with the mouse backwards to how you'd normally use it (so that the buttons are facing you), mark it out and cut it.&lt;br /&gt;
# Insert the control column/yoke assembly through the holes you made, place the mouse into the cut out you made for it and tape it in, taping around the edge of the mouse so that it won't rock sideways.&lt;br /&gt;
# The final step in construction is to limit the control throw (Not pictured in the photo) Use your knife to drill two small holes in the top and bottom of the end of the control column that is protruding from the back of the box, and insert the pencil you where using through them so that most of the pencil is in the air, and just the tip is pointing downwards. This will stop the control column from coming out with too much up elevator, and will also limit the aileron when the pencil hits the desk. Full aileron will be just over 90deg which is the same as a Cessna, so it'll be pretty realistic.&lt;br /&gt;
# You'll also need to reduce your mouse (control mode) sensitivity in FG so that it can never reach full aileron or elevator. This is very important, because if you don't it'll go out of alignment as soon as you reach it.&lt;br /&gt;
# It will also go out of alignment after a while, especially if you make very fast control inputs on a slow computer, so configure a mouse button to centre the controls... When it goes out of alignment, just centre your yoke and tap the mouse button.&lt;br /&gt;
# Make sure your yoke is centred when you start the sim.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [http://www.flightgear.org/forums/viewtopic.php?f=3&amp;amp;t=1956 FlightGear Forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware|yoke Build a in 5 minutes]]&lt;br /&gt;
[[Category:Howto|yoke Build a in 5 minutes]]&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Edit_a_livery&amp;diff=39449</id>
		<title>Howto:Edit a livery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Edit_a_livery&amp;diff=39449"/>
		<updated>2012-01-19T21:08:59Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: /* What is a livery? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This [[:Category:howto|howto]] is intended to be a help guiding the potential livery artist as well as the more experienced one needing a refresher.&lt;br /&gt;
&lt;br /&gt;
== What is a livery? ==&lt;br /&gt;
[[File:PC-9M Slovenian Livery.png|150px|thumb|right|Slovenian livery for pjedvaj's second version of the [[Pilatus PC-9M]].]]&lt;br /&gt;
A ''livery'' is the way an [[aircraft]] from for example an airline or a fighter wing is painted. Some other flight simulators and games call this a '''paint (scheme)''' or '''repaint'''. A livery consists of one or more textures, wrapped around the 3D model representing the aircraft.&lt;br /&gt;
&lt;br /&gt;
Most aircraft in FlightGear come as a ZIP file which contains a few text, 3D model and image files organized in several directories. In that structure is one or more liveries and one or more text files, XML files, describing it's use. The liveries can usually be found in the &amp;lt;tt&amp;gt;..Models&amp;lt;tt&amp;gt;, &amp;lt;tt&amp;gt;..Liveries&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;..Models/Liveries&amp;lt;/tt&amp;gt; or some other directory, depending on how the aircraft's author organized the files and directories.&lt;br /&gt;
&lt;br /&gt;
== General work flow ==&lt;br /&gt;
There are a few ways to make a new livery. First of all have a look at the [[FlightGear livery database]], to make sure you don't duplicate someones else's work. You can also download templates for liveries, called ''paintkits'', there for a few aircraft, but usually paintkits are included with the aircraft.&lt;br /&gt;
&lt;br /&gt;
When creating the livery, the work flow is basically in this order:&lt;br /&gt;
# Check the FlightGear Livery Database, to avoid duplicate work&lt;br /&gt;
# Find reference images,&lt;br /&gt;
# Get a paintkit, if available,&lt;br /&gt;
# Make the livery&lt;br /&gt;
# Share the livery&lt;br /&gt;
&lt;br /&gt;
== Finding reference images ==&lt;br /&gt;
To do a good livery based on a real aircraft you simply have to have reference images to look at while making the livery. You will need images from both sides of the fuselage, images of the top and bottom, and a lot of close in images of details. Make sure you also have images from an angle. Having a three way drawing can be helpful, specially if you want to add rivet lines, or if there was no paintkit available.&lt;br /&gt;
&lt;br /&gt;
Make sure you have a lot of good reference images of the aircraft livery you want to make. A list of websites containing such images can be found at the bottom of this article.&lt;br /&gt;
&lt;br /&gt;
== Editing the livery image ==&lt;br /&gt;
[[File:Vector vs Raster Graphics.png|150px|thumb|right|One pixel line width square and circle together with a gradient. Left side is a vector image, right side a raster image. Both are exported 20 times larger.]]&lt;br /&gt;
[[File:Livery layers in Inkscape (Slovenian PC-9M).png|150px|thumb|right|Inkscape layer dialogue. The four top top layers are the paintkit, while the rest of the layers are the livery.]]&lt;br /&gt;
[[File:Finished Slovenian PC-9M livery (3DViewer screenshot).png|150px|thumb|right|3DViewer screen shot of a finished livery draped over the model.]]&lt;br /&gt;
[[File:Finished Slovenian PC-9M livery (in-game screenshot).png|150px|thumb|right|FlightGear 2.0.0 in-game screen shot with the finished livery.]]&lt;br /&gt;
To be on the safe side copy the aircraft folder to some other place and work on the livery in the copied directory.&lt;br /&gt;
&lt;br /&gt;
=== Vector or raster ===&lt;br /&gt;
There are in general two ways to edit the livery: Using a raster image editor such as GIMP or Photoshop or using a vector graphics editor such as Inkscape or Illustrator. GIMP and Inkscape are both free and open source software. If you don't have experience with a vector editor there's a bit of a learning curve, but after you have passed it a vector editor can be more rewarding, as you can more easily adjust, scale and rotate elements in the livery such as warning labels, stripes and cabin windows. Vector images also have the great advantage of having the possibility to later make a higher resolution livery in a snap.&lt;br /&gt;
&lt;br /&gt;
=== Using layers ===&lt;br /&gt;
When editing the livery, have the template in one or more layer, adding the elements of your livery in other layers. Another good idea if you are using a raster editor is to have individual elements as separate layers to be able to move them around if necessary.&lt;br /&gt;
&lt;br /&gt;
=== Saving the files ===&lt;br /&gt;
''Start'' the work by saving your livery while it is still empty. That way you will not get carried away, forgetting to save it just to be reminded in the harshest way, maybe having hours of work lost. The file should usually have a size of 1024*1024 pixels, but any rectangle with n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; pixels side, for example 256, 512 and 2048 pixels, will do. Larger image size will result in more detail being shown, but also a slower running FlightGear.&lt;br /&gt;
&lt;br /&gt;
Note that all liveries for a certain aircraft must have the same aspect ratio. So when an existing livery is 1024*2048, your livery can be 512*1024, but not 512*512.&lt;br /&gt;
&lt;br /&gt;
If you are working with raster files, remember to use a two or four times larger size, while working on the livery, in case you later on need a livery in a larger size. When you are done you can save a version in the right size. Save the file in a larger size also when creating a raster image paintkit from scratch.&lt;br /&gt;
&lt;br /&gt;
While working on the livery save the file in different versions while you are adding new features, so you don't end up messing your ''only'' file up by mistake. Copy the file, with the right size, to the aircraft's &amp;lt;tt&amp;gt;..Models&amp;lt;/tt&amp;gt; directory or &amp;lt;tt&amp;gt;..Models/Liveries&amp;lt;/tt&amp;gt; directory, depending on how the original author organized the aircraft's folders, and name it default.png.&lt;br /&gt;
&lt;br /&gt;
=== Viewing the livery in 3D ===&lt;br /&gt;
While you are working on the livery it is a good idea to load it into a 3D viewer, turning the model around and comparing it to your reference images at regular intervals.&lt;br /&gt;
&lt;br /&gt;
To be able to check the livery on a model there are three ways, you can either&lt;br /&gt;
* use '''[[FGRun]]'s''' built in viewer at the aircraft page to look at the model, which is rather slow.&lt;br /&gt;
* use '''3DViewer''', a neat, small and fast viewer.&lt;br /&gt;
* use the 3D modeller '''[[Blender]]''', which has quite a steep learning curve.&lt;br /&gt;
&lt;br /&gt;
My recommendation is 3DViewer, since it is small and fast.&lt;br /&gt;
&lt;br /&gt;
=== Naming your livery ===&lt;br /&gt;
Lastly, when done give the livery a proper name. For hints on airliners etc. have a look at the [http://liveries.flightgear.org/contribute.php livery database's contribute page]. It is usually a good idea to have aircraft model and airline, possibly also years it was used in the file name.&lt;br /&gt;
&lt;br /&gt;
 Details on the XML work needed here.&lt;br /&gt;
&lt;br /&gt;
== Sharing your work ==&lt;br /&gt;
Please consider sharing your work on the forum, and in the case it is a real livery and doesn't have parts of non-free images, also the livery database under the GPL license.&lt;br /&gt;
&lt;br /&gt;
=== Showing your livery at the FlightGear forum ===&lt;br /&gt;
In order to show your liveries at the forum you have to be registered and have uploaded your images of the livery to some external image host like Picasa, Flickr, imageshed or something similar.&lt;br /&gt;
&lt;br /&gt;
On the forum there are sometimes a topic for the development of an aircraft as well as a sparate topic for liveries to the same aircraft. Use the forums search function to find any already existing topics. If you cannot find one, make a new one in the [http://www.flightgear.org/forums/viewforum.php?f=13 liveries development] subforum with the name of the aircraft somewhere in the topic's title.&lt;br /&gt;
&lt;br /&gt;
To add the image to your post use your image host's share function or if you do not find it use &amp;lt;tt&amp;gt;[img]&amp;lt;/tt&amp;gt; tags like this &amp;lt;tt&amp;gt;[img]&amp;amp;lt;URL to image&amp;amp;gt;[/img]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To share your livery you have to upload it to a file host and link to it with the &amp;lt;tt&amp;gt;[url]&amp;lt;/tt&amp;gt; tags like this &amp;lt;tt&amp;gt;[url=&amp;amp;lt;URL to file&amp;amp;gt;]&amp;amp;lt;Description of file&amp;amp;gt;[/url]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Uploading to the FlightGear Livery Database ===&lt;br /&gt;
You can upload your liveries to the official livery database using [http://liveries.flightgear.org/contribute.php a web form]. Please read the rules and tips carefully before sending in your livery.&lt;br /&gt;
&lt;br /&gt;
=== Uploading to Unitedfreeworld.com ===&lt;br /&gt;
Both real and fictional liveries can be uploaded to Unitedfreeworld.com using [http://www.unitedfreeworld.com/contribute/ a web form].&lt;br /&gt;
&lt;br /&gt;
Unitedfreeworld uses a Creative Commons-Attribution-Non commercial-No derivates (CC-by-nc-nd) licence and recommends you to adhere to that, and that your livery contains no copyrighted material, in essence that it is your own work entirely.&lt;br /&gt;
&lt;br /&gt;
== A pledge to aircraft developers and livery artists ==&lt;br /&gt;
Some one else would likely want to have a try at liveries for the aircraft you are working on. When you are developing an aircraft or are making a new livery for an aircraft without a painkit, please consider making a paintkit for that aircraft. Also consider that the aircraft will more likely get higher quality liveries and more liveries if your paintkit is of high quality. &lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Livery over MP]], describes how to equip an aircraft with a livery system.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://liveries.flightgear.org/index.php FlightGear Livery Database]&lt;br /&gt;
* [http://www.unitedfreeworld.com/ Unitedfreeworld.com]&lt;br /&gt;
&lt;br /&gt;
=== Web sites for reference images ===&lt;br /&gt;
A small selection. Many, many more are available these days.&lt;br /&gt;
* [http://www.google.se/imghp Google image search] The obvious&lt;br /&gt;
* [http://www.airliners.net/ Airliners.net] Well known&lt;br /&gt;
* [http://www.airplane-pictures.net/ Airplane-Pictures.net] Many ways to browse through the images&lt;br /&gt;
* [http://www.jetphotos.net/ JetPhotos.Net]&lt;br /&gt;
* [http://www.planepictures.net/ PlanePictures]&lt;br /&gt;
&lt;br /&gt;
=== 3D Viewers ===&lt;br /&gt;
* [http://karelse.home.xs4all.nl/3DViewer/ 3DViewer] Small, neat and fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement|Edit a livery]]&lt;br /&gt;
[[Category:Howto|Edit a livery]]&lt;br /&gt;
&lt;br /&gt;
[[de:Howto: Edit a livery]]&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=33092</id>
		<title>Scripted Compilation on Linux Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=33092"/>
		<updated>2011-08-03T22:18:30Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
The following script takes care of downloading and compiling FlightGear from the git repositories with just one command execution for both 32-bit and 64-bit Debian based systems (Debian, Ubuntu). Pre-existing installed version (if any) of FlightGear are not touched at all since the script builds and installs everything under the directory in which it is launched.&lt;br /&gt;
&lt;br /&gt;
Necessary packages are installed via the apt-get system while libraries not included in the repositories are downloaded and compiled on the fly (i.e. [[Plib]], [[Simgear]] and [[OSG]]).&lt;br /&gt;
&lt;br /&gt;
=== List of compiled programs ===&lt;br /&gt;
The script is able to download and compile:&lt;br /&gt;
* FlightGear (And all the data needed to use it)&lt;br /&gt;
* [[Fgrun]]&lt;br /&gt;
* [[FGCOM]]&lt;br /&gt;
* [[FGComGui]]&lt;br /&gt;
* [[Atlas]]&lt;br /&gt;
* [[Terrasync]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
You can download the script here: [http://www.gitorious.org/fg/fgmeta/blobs/raw/master/download_and_compile.sh download_and_compile.sh]&lt;br /&gt;
&lt;br /&gt;
The script is maintained in the FlightGear main repository. Remember to update this script whenever a new FlightGear version is released, so that you'll be able to download the latest stable revision.&lt;br /&gt;
&lt;br /&gt;
There is also another option for building FlightGear and all its dependencies in an automated fashion, please refer to: http://geoffmclane.com/fg/fgfs-052.htm&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
To run download_and_compile.sh, just save it in a directory called for example: ~/fgfs&lt;br /&gt;
then execute it (no need to execute it as root).&lt;br /&gt;
&lt;br /&gt;
Here is for example a sequence of commands to get the script and launch it in a new folder.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ~/fgfs&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
wget http://www.gitorious.org/fg/fgmeta/blobs/raw/master/download_and_compile.sh&lt;br /&gt;
chmod 755 download_and_compile.sh&lt;br /&gt;
sh download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once the script is finished, you will successfully get all the programs installed in the ~/fgfs directory.&lt;br /&gt;
&lt;br /&gt;
=== Launching FlightGear ===&lt;br /&gt;
To run your new git installation of FlightGear you have to launch the ''run_fgfs.sh'' command under the same folder, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgfs.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgrun ===&lt;br /&gt;
For many users it's more comfortable having FlightGear launched by the graphical utility Fgrun which is installed as well in the same folder. You have to launch the ''run_fgrun.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgrun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching FGCOM ===&lt;br /&gt;
FGCOM is the system used by FlightGear to simulate radio communications between users. Launch it using the ''run_fgcom.sh'' command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgcom.sh -cs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching FGComGui ===&lt;br /&gt;
FgComGui is a GUI wrapper to launch fgcom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs  &lt;br /&gt;
sh run_fgcomgui.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Atlas ===&lt;br /&gt;
Atlas provides a map for FlightGear, use it launching: ''run_atlas.sh''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgatlas.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Terrasync ===&lt;br /&gt;
Your FlightGear compilation comes with the Terrasync program too, so if you want to use it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_terrasync.sh -S -p 5500 -d /folder/with/sceneries&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where: ''/folder/with/sceneries'' is the folder containing the sceneries data.&lt;br /&gt;
&lt;br /&gt;
Then launch fgfs with the '''--fg-scenery=/folder/with/sceneries --atlas=socket,out,5,localhost,5500,udp''' option&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Compilation errors ===&lt;br /&gt;
Here we are, no fear, if you wish to use programs from the cvs/svn/git repositories, you might face compilation errors that will prevent you to have a working copy of one or more of the programs provided by this script. What can be the causes that prevent us from successfully compiling? As far as I know those:&lt;br /&gt;
# Software developers introduce a new functionality with a new piece of code that prevents the compilation under your architecture, this can happen working with cvs/svn/git sources.&lt;br /&gt;
# The program refuses to compile because of a divergence in the libraries on which it depends. For example FlightGear might not compile because OSG has been modified, while OSG itself compiles fine, FG won't.&lt;br /&gt;
# One or more repositories are down and you can't get the library you need. (Both from cvs/svn/git or apt-get)&lt;br /&gt;
&lt;br /&gt;
There is a simple solution to the above errors: wait and relaunch the script after some time (hours or days), if software developers repair or synchronize their code with the newly updated libraries (which generally happens eventually), your FlightGear will compile fine as if the previous error never took place.&lt;br /&gt;
&lt;br /&gt;
Sometimes it happens that the script fails to compile only fgrun, fgcom or atlas, if you then see the run_fgfs.sh file it means that FlightGear installation was successful and you can safely run it.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
The script by default (without any option) will only compile FlightGear and Fgrun. To make it compile all, you need to launch the script with the ''ALL'' parameter. i.e.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling only one program ===&lt;br /&gt;
If you wish to recompile only one of the programs you can launch the script with one of the following parameters:&lt;br /&gt;
* PLIB (to compile and install only plib)&lt;br /&gt;
* OSG (to compile and install only OpenSceneGraph)&lt;br /&gt;
* SIMGEAR (to compile and install only Simgear)&lt;br /&gt;
* FGFS (to compile and install only FlightGear)&lt;br /&gt;
* DATA (to download / update only data files for FlightGear)&lt;br /&gt;
* FGRUN (to compile and install only Fgrun)&lt;br /&gt;
* FGCOM (to compile and install only Fgcom)&lt;br /&gt;
* FGCOMGUI (to compile and install only FgComGui)&lt;br /&gt;
* ATLAS (to compile and install only Atlas)&lt;br /&gt;
&lt;br /&gt;
=== Fast updating ===&lt;br /&gt;
There is a second parameter ''UPDATE'' that allows you to just update your installation. i.e.:&lt;br /&gt;
This will only update FGFS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh FGFS UPDATE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling last stable versions (Experimental) ===&lt;br /&gt;
Even if the script fetches data and sources from bleeding edge developers repositories (which sometimes do not compile), you can still force the script to download latest known versions of the software that were compiling successfully by adding the -s option.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How does it work? Inside the script there is a small list with latest known versions of successfully compiling revisions, it will download from svn/git those specific revisions, which have been found able to compile together.&lt;br /&gt;
&lt;br /&gt;
=== Advanced options ===&lt;br /&gt;
* Skip download of packages using '''-p n''' option&lt;br /&gt;
* Skip compilation of programs using '''-c n''' option&lt;br /&gt;
* Skip retrieving software updates using '''-d n''' option&lt;br /&gt;
* Skip reconfigure (make clean) using '''-r n''' option&lt;br /&gt;
&lt;br /&gt;
For example, if you are a developer and wish to quickly recompile and reinstall only your own modifications for FlightGear do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh -p n -d n -r n  FGFS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this will only recompile modifications and reinstall them.&lt;br /&gt;
&lt;br /&gt;
=== Multicore Acceleration ===&lt;br /&gt;
Using the option '''-j x''' (where x is the number of your CPU-Cores you wish to assign to the job) will speed up the whole compilation process considerably.&lt;br /&gt;
&lt;br /&gt;
== Disk usage ==&lt;br /&gt;
Having both compiled program, source code, and data from git requires some hard disk space: It will take something like 7 GB of space.&lt;br /&gt;
If you don't have a fast machine, it will require you also several hours of compilation time.&lt;br /&gt;
&lt;br /&gt;
[[nl:Compileren met een Script op Linux Debian/Ubuntu]]&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=33024</id>
		<title>Scripted Compilation on Linux Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=33024"/>
		<updated>2011-07-28T15:26:16Z</updated>

		<summary type="html">&lt;p&gt;Mmuc: spelling and wording improvements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
The following script takes care of downloading and compiling FlightGear from the git repositories with just one command execution for both 32-bit and 64-bit Debian based systems (Debian, Ubuntu). Pre-existing installed version (if any) of FlightGear are not touched at all since the script builds and installs everything under the directory in which it is launched.&lt;br /&gt;
&lt;br /&gt;
Necessary packages are installed via the apt-get system while libraries not included in the repositories are downloaded and compiled on the fly (i.e. [[Plib]], [[Simgear]] and [[OSG]]).&lt;br /&gt;
&lt;br /&gt;
=== List of compiled programs ===&lt;br /&gt;
The script is able to download and compile:&lt;br /&gt;
* FlightGear (And all the data needed to use it)&lt;br /&gt;
* [[Fgrun]]&lt;br /&gt;
* [[FGCOM]]&lt;br /&gt;
* [[FGComGui]]&lt;br /&gt;
* [[Atlas]]&lt;br /&gt;
* [[Terrasync]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
You can download the script here: [http://www.gitorious.org/fg/fgmeta/blobs/raw/master/download_and_compile.sh download_and_compile.sh]&lt;br /&gt;
&lt;br /&gt;
The script is maintained in the FlightGear main repository. Remember to update this script whenever a new FlightGear version is released, so that you'll be able to download the latest stable revision.&lt;br /&gt;
&lt;br /&gt;
There is also another option for building FlightGear and all its dependencies in an automated fashion, please refer to: http://geoffmclane.com/fg/fgfs-052.htm&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
To run download_and_compile.sh, just save it in a directory called for example: ~/fgfs&lt;br /&gt;
then execute it (no need to execute it as root).&lt;br /&gt;
&lt;br /&gt;
Here is for example a sequence of commands to get the script and launch it in a new folder.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ~/fgfs&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
wget http://www.gitorious.org/fg/fgmeta/blobs/raw/master/download_and_compile.sh&lt;br /&gt;
chmod 755 download_and_compile.sh&lt;br /&gt;
sh download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once the script is finished, you will successfully get all the programs installed in the ~/fgfs directory.&lt;br /&gt;
&lt;br /&gt;
=== Launching FlightGear ===&lt;br /&gt;
To run your new git installation of FlightGear you have to launch the ''run_fgfs.sh'' command under the same folder, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgfs.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgrun ===&lt;br /&gt;
For many users it's more comfortable having FlightGear launched by the graphical utility Fgrun which is installed as well in the same folder. You have to launch the ''run_fgrun.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgrun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching FGCOM ===&lt;br /&gt;
FGCOM is the system used by FlightGear to simulate radio communications between users. Launch it using the ''run_fgcom.sh'' command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgcom.sh -cs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching FGComGui ===&lt;br /&gt;
FgComGui is a GUI wrapper to launch fgcom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs  &lt;br /&gt;
sh run_fgcomgui.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Atlas ===&lt;br /&gt;
Atlas provides a map for FlightGear, use it launching: ''run_atlas.sh''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgatlas.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Terrasync ===&lt;br /&gt;
Your FlightGear compilation comes with the Terrasync program too, so if you want to use it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_terrasync.sh -S -p 5500 -d /folder/with/sceneries&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where: ''/folder/with/sceneries'' is the folder containing the sceneries data.&lt;br /&gt;
&lt;br /&gt;
Then launch fgfs with the '''--fg-scenery=/folder/with/sceneries --atlas=socket,out,5,localhost,5500,udp''' option&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Compilation errors ===&lt;br /&gt;
Here we are, no fear, if you wish to use programs from the cvs/svn/git repositories, you might face compilation errors that will prevent you to have a working copy of one or more of the programs provided by this script. What can be the causes that prevent us from successfully compiling? As far as I know those:&lt;br /&gt;
# Software developers introduce a new functionality with a new piece of code that prevents the compilation under your architecture, this can happen working with cvs/svn/git sources.&lt;br /&gt;
# The program refuses to compile because of a divergence in the libraries on which it depends. For example FlightGear might not compile because OSG has been modified, while OSG itself compiles fine, FG won't.&lt;br /&gt;
# One or more repositories are down and you can't get the library you need. (Both from cvs/svn/git or apt-get)&lt;br /&gt;
&lt;br /&gt;
There is a simple solution to the above errors: wait and relaunch the script after some time (hours or days), if software developers repair or synchronize their code with the newly updated libraries (which generally happens eventually), your FlightGear will compile fine as if the previous error never took place.&lt;br /&gt;
&lt;br /&gt;
Sometimes it happens that the script fails to compile only fgrun, fgcom or atlas, if you then see the run_fgfs.sh file it means that FlightGear installation was successful and you can safely run it.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
The script by default (without any option) will only compile FlightGear and Fgrun. To make it compile all, you need to launch the script with the ''ALL'' parameter. i.e.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling only one program ===&lt;br /&gt;
If you wish to recompile only one of the programs you can launch the script with one of the following parameters:&lt;br /&gt;
* PLIB (to compile and install only plib)&lt;br /&gt;
* OSG (to compile and install only OpenSceneGraph)&lt;br /&gt;
* SIMGEAR (to compile and install only Simgear)&lt;br /&gt;
* FGFS (to compile and install only FlightGear)&lt;br /&gt;
* DATA (to download / update only data files for FlightGear)&lt;br /&gt;
* FGRUN (to compile and install only Fgrun)&lt;br /&gt;
* FGCOM (to compile and install only Fgcom)&lt;br /&gt;
* FGCOMGUI (to compile and install only FgComGui)&lt;br /&gt;
* ATLAS (to compile and install only Atlas)&lt;br /&gt;
&lt;br /&gt;
=== Fast updating ===&lt;br /&gt;
There is a second parameter ''UPDATE'' that allows you to just update your installation. i.e.:&lt;br /&gt;
This will only update FGFS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh FGFS UPDATE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling last stable versions (Experimental) ===&lt;br /&gt;
Event if the script fetches data and sources from bleeding edge developers repositories (which sometimes do not compile), you can still force the script to download latest known versions of the software that were compiling successfully by adding the -s option.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How does it work? Inside the script there is a small list with latest known versions of successfully compiling revisions, it will download from svn/git those specific revisions, which have been found able to compile together.&lt;br /&gt;
&lt;br /&gt;
=== Advanced options ===&lt;br /&gt;
* Skip download of packages using '''-p n''' option&lt;br /&gt;
* Skip compilation of programs using '''-c n''' option&lt;br /&gt;
* Skip retrieving software updates using '''-d n''' option&lt;br /&gt;
* Skip reconfigure (make clean) using '''-r n''' option&lt;br /&gt;
&lt;br /&gt;
For example, if you are a developer and wish to quickly recompile and reinstall only your own modifications for FlightGear do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh download_and_compile.sh -p n -d n -r n  FGFS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this will only recompile modifications and reinstall them.&lt;br /&gt;
&lt;br /&gt;
=== Multicore Acceleration ===&lt;br /&gt;
Using the option '''-j x''' (where x is the number of your CPU-Cores you wish to assign to the job) will speed up the whole compilation process considerably.&lt;br /&gt;
&lt;br /&gt;
== Disk usage ==&lt;br /&gt;
Having both compiled program, source code, and data from git requires some hard disk space: It will take something like 7 GB of space.&lt;br /&gt;
If you don't have a fast machine, it will require you also several hours of compilation time.&lt;br /&gt;
&lt;br /&gt;
[[nl:Compileren met een Script op Linux Debian/Ubuntu]]&lt;/div&gt;</summary>
		<author><name>Mmuc</name></author>
	</entry>
</feed>