Superbuild: Difference between revisions
No edit summary |
No edit summary |
||
Line 23: | Line 23: | ||
* Run 'Configure' again, and then 'Generate' | * Run 'Configure' again, and then 'Generate' | ||
C:\FGFS\ | 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,