-How to compile FlightGear with Microsoft Visual C++ 6.0
-======================================================
+Use FlightGear.sln to compile fgfs executable for Win32 or x64 architectures with Visual Studio 2008.
+Previous versions of Visual Studio are not officially supported anymore.
-FlightGear ships with MSVC project files. That hopefully is a good start,
-but these instructions really need to be filled in and updated by an MSVC
-developer.
+Precompiled librairies and headers for compiling Win32 executables with VS2008 :
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-win32-VS90-3rdParty+OSG-20110801.zip
-For now, there are several MSVC developers on the FlightGear-devel mailing
-list, so if you do run into problems or issues, please post your questions
-there.
+Precompiled librairies and headers for compiling x64 executables with VS2008 :
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-x64-VS90-3rdParty+OSG-20110801.zip
+
+These two archives only contain 'release' versions of librairies and executables. In addition,
+the archives below contain 'debug' version of libraries and should be dezipped over the previous one.
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-win32-VS90-3rdParty+OSG-20110801-debug.zip
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-x64-VS90-3rdParty+OSG-20110801-debug.zip
+
+The VS2008 / v9.0 project files assume the directory layout below :
+
+Win32 build :
+ * any_directory_on_any_drive /
+ 3rdParty / ( includes plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ...
+ bin /
+ include /
+ lib /
+ boost_1_44_0 /
+ boost /
+ lib /
+ source / ( Flightgear CVS directory - It can also be renamed FlightGear or anything else
+ src /
+ projects /
+ VC90 /
+ Win32 / ( generated at build time
+ Debug / ( Debug executable
+ Release / ( Release executable
+ FlightGear.sln ( Main solution
+ utils /
+ install /
+ msvc90 /
+ OpenSceneGraph / ( OSG CMake install
+ bin /
+ include /
+ lib /
+ SimGear / ( SimGear CVS directory
+ simgear /
+ projects /
+ VC90 /
+
+3rdParty, boost_1_44_0 and install/msvc90 are included in the Win32 3rdParty archive.
+
+x64 build :
+ * any_directory_on_any_drive /
+ 3rdParty.x64 / ( includes plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, ...
+ bin /
+ include /
+ lib /
+ boost_1_44_0 /
+ boost /
+ lib64 /
+ source / ( Flightgear CVS directory - It can also be renamed FlightGear or anything else
+ src /
+ projects /
+ VC90 /
+ x64 / ( generated at build time
+ Debug / ( Debug executable
+ Release / ( Release executable
+ FlightGear.sln ( Main solution
+ utils /
+ install /
+ msvc90-64 /
+ OpenSceneGraph / ( OSG CMake install
+ bin /
+ include /
+ lib /
+ SimGear / ( SimGear CVS directory
+ simgear /
+ projects /
+ VC90 /
+
+3rdParty.x64, boost_1_44_0 and install/msvc90-64 are included in the x64 3rdParty archive.
+
+Typical setup should decompose into the following steps :
+
+ 1. Install Visual Studio 2008 Express (http://msdn.microsoft.com/fr-fr/express/aa975050.aspx)
+ 2. Install msysGit (http://code.google.com/p/msysgit/)
+ 3. Create a new directory, say D:\FGFSDevel (or anything else)
+ 4. Unzip precompiled Win32 3rd party archive in it
+ 5. Open a Git Bash session and cd to the new directory ( cd /d/FGFSDevel )
+ 6. Get SimGear sources from Gitorious : git clone git://gitorious.org/fg/simgear.git SimGear
+ 7. Get FlightGear source from Gitorious : git clone git://gitorious.org/fg/flightgear.git FlightGear
+ 8. Go to D:\FGFSDevel\FlightGear\projects\VC90 and double-click on FlightGear.sln
+ 9. Select the "Release" configuration
+ 10. Open file D:\FGFSDevel\SimGear\simgear\version.h.in and change @VERSION@ into "2.0.0" or any current version
+ 11. Save file as version.h in the same directory
+ 12. Start build (usually F7)
+ 13. Get the data from Gitorious too : git clone git://gitorious.org/fg/fgdata.git fgdata
+ 14. Wait...
+ 15. Add <any_directory_on_any_drive>/install/msvc90/OpenSceneGraph/bin and <any_directory_on_any_drive>/3rdParty/bin to your PATH environment variable
+ 16. Enjoy - programs are in D:\FGFSDevel\FlightGear\projects\VC90\Win32\Release
+
+It is also possible to compile a Debug version. This is only useful when hacking the code because
+a Debug version is way slower than the Release one.
+
+The 64bit build is only available to people having the Professional edition of Visual Studio 2008. In that case, 15. above should be :
+ 15. Add <any_directory_on_any_drive>/install/msvc90-64/OpenSceneGraph/bin and <any_directory_on_any_drive>/3rdParty.x64/bin to your PATH environment variable
+
+When the manual build works, it is possible to start it from the command line. This is useful
+when setting up a build server or automating the process of retrieving the code and building
+it in a scheduled task. To do that :
+
+ 1. open a command line window
+ 2. execute "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
+ or "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" in a
+ 64bit environment (Vista 64-bit or Windows7 64-bit)
+ You should see : "Setting environment for using Microsoft Visual Studio 2008 x86 tools."
+ printed in the console
+ ( To start 64-bit build, the right environment is set with :
+ "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" amd64
+ )
+ 3. cd to the FlightGear project directory :
+ D:
+ cd \FGFSDevel\FlightGear\projects\VC90 (for example)
+ 4. start the build with the command line below :
+ msbuild FlightGear.sln /p:Configuration=Release /m
+ or
+ msbuild FlightGear.sln /p:Configuration=Debug /m
+
+That's all...
+
+Note: you may experience the error below running the msbuild command :
+FlightGear\projects\VC90\FlightGear.sln : error MSB4018: The "ResolveVCProjectOutput" task failed unexpectedly.
+...(lots of additionnal messages)
+
+In that case, remove the /m switch from the command line.