Superbuild: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 23: Line 23:
* Run 'Configure' again, and then 'Generate'
* Run 'Configure' again, and then 'Generate'


C:\FGFS\metabuidld now contains a FlightGear-Meta solution (.sln);you can build this from a Visual Studio command prompt using msbuild, or open up the .sln in the IDE and again hit build. The first time will be slow - OpenSceneGraph and Boost will be downloaded and compiled, followed by all of simgear and finally flightgear.
C:\FGFS\metabuild now contains a FlightGear-Meta solution (.sln);you can build this from a Visual Studio command prompt using msbuild, or open up the .sln in the IDE and again hit build. The first time will be slow - OpenSceneGraph and Boost will be downloaded and compiled, followed by all of simgear and finally flightgear.


Once the build completes, it is easier to run FlightGear by closing the -Meta solution, and instead opening the Flightgear.sln in C:\FGFS\metabuild\fgbuild. From here you can set 'fgfs' as the startup project, enter any command line options, and debug / hack / run the code as normal.
Once the build completes, it is easier to run FlightGear by closing the -Meta solution, and instead opening the Flightgear.sln in C:\FGFS\metabuild\fgbuild. From here you can set 'fgfs' as the startup project, enter any command line options, and debug / hack / run the code as normal.


Note you will need to add the OpenSceneGraph install directory to the PATH variables in the 'fgfs' target properties; the dir will be something like C:\FGFS\metabuild\install\msvc100\OpenSceneGraph\bin. Again this step will hopefully go away soon, bu for the moment is still required.
Note you will need to add the OpenSceneGraph install directory to the PATH variables in the 'fgfs' target properties; the dir will be something like C:\FGFS\metabuild\install\msvc100\OpenSceneGraph\bin. Again this step will hopefully go away soon, bu for the moment is still required.
===Superbuild on Linux===
(The follow assumes regular 'make' generator, other generators may work, testing welcome)
* make build dir next to your fgmeta clone
* cd into the build dir
* run cmake ../fgmeta -DCMAKE_INSTALL_PREFIX=$PWD/install -DCMAKE_BUILD_TYPE=Release (or Debug for a debug configuration(
* run make -jN  (where N is as large a number as your system can support)
* make some coffee
* fgfs should be in install/bin
===Superbuild on Mac===
Make-based build works, XCode is more interesting. Probably only for the brave,

Revision as of 20:09, 22 October 2013

Building via the superbuild

A CMake super-build is a project which downloads, configures and builds other projects. Download can be from a web server, or via Git or SVN. Most normal CMake options apply - you can use different generators (Makefiles, VisualStudio, XCode) and pass in options.

In all cases, you should get the superbuild by doing a clean clone (from Git) of fgmeta, with the --recursive options. This tells Git to clone submodules, which we need since both flightgear and simgear are submodules of fgmeta.

Checkout the 'next' branch of fgmeta for the moment; the superbuild is not supported on the release branches.

Note the superbuild does not include any data repository or base files - you should separately download these or clone fgdata, and pass the location to fgfs when running in your preferred way, eg via the --fg-root command line argument.

Superbuild on Windows

Using VisualStudio / msbuild:

We assume you have cloned fgmeta in C:\FGFS\fgmeta. All the example paths below work just fine if you replace C:\FGFS with G:\MyAwesomeDir\AnySubDir.

(Spaces in the paths are untested and might cause issues, but might work fine)

The steps are as follows:

  • Make a build dir beside fgmeta - for example C:\FGFS\metabuild
  • Run the CMake GUI, and select C:\FGFS\fgmeta as the source dir, and C:\FGFS\metabuild as the build dir
  • Run 'Configure' once, and set CMAKE_INSTALL_PREFIX to C:\FGFS\metabuild\install (this step will be automated soon)
  • Run 'Configure' again, and then 'Generate'

C:\FGFS\metabuild now contains a FlightGear-Meta solution (.sln);you can build this from a Visual Studio command prompt using msbuild, or open up the .sln in the IDE and again hit build. The first time will be slow - OpenSceneGraph and Boost will be downloaded and compiled, followed by all of simgear and finally flightgear.

Once the build completes, it is easier to run FlightGear by closing the -Meta solution, and instead opening the Flightgear.sln in C:\FGFS\metabuild\fgbuild. From here you can set 'fgfs' as the startup project, enter any command line options, and debug / hack / run the code as normal.

Note you will need to add the OpenSceneGraph install directory to the PATH variables in the 'fgfs' target properties; the dir will be something like C:\FGFS\metabuild\install\msvc100\OpenSceneGraph\bin. Again this step will hopefully go away soon, bu for the moment is still required.

Superbuild on Linux

(The follow assumes regular 'make' generator, other generators may work, testing welcome)

  • make build dir next to your fgmeta clone
  • cd into the build dir
  • run cmake ../fgmeta -DCMAKE_INSTALL_PREFIX=$PWD/install -DCMAKE_BUILD_TYPE=Release (or Debug for a debug configuration(
  • run make -jN (where N is as large a number as your system can support)
  • make some coffee
  • fgfs should be in install/bin


Superbuild on Mac

Make-based build works, XCode is more interesting. Probably only for the brave,