User:Callahanp/Flightgear and Simgear Code/Tools for a Flightgear Developer

From FlightGear wiki
Jump to: navigation, search

These are just notes. No intro, just jump in

WIP.png Work in progress
This article or section will be worked on in the upcoming hours or days.
See history for the latest developments.

These are what I'm using as a bare minimum. I'll assume since you are here, you know how to obtain, install and at least start these tools. Feel free to substitute your favorites:

  • git
  • gitg
  • Atom
  • download_and_compile.sh
  • gdbgui
  • Doxygen


For Future Possible use

  • QTCreator
  • Eclipse


Keeping Flighgear materials out of $HOME:

I keep some things under $HOME on a separate disk. This prevents me from running out of disk space simply because I took on a large build project

Flightgear is one example.

cd ~/
ln -s /work/fg fg


Here's my directory structure for building with download_and_compile.sh

  • $HOME
    • A separate disk to make it easy to reinstall linux. $HOME is the same as /home/$USER
  • $HOME/fg
    • Scripts I need to build and flightgear such as download_and_compile.sh, and /run/debug script
    • This is actually a symlink to a folder on a separate disk from /home.
    • I do this so I can build the software I want without continually expanding my home disk's size.
    • The fg directory contains a folder for each different build of Flightgear.
      • next for running next
      • nextrti for running next with OpenRTI
      • nextd for debugging next
      • stable
      • stabled for debugging stable
    • Each of these directories contains git clones for flightgear, simgear and other projects like OSG and OpenRTI as needed.

Rather than use excessive bandwidth, when I need a fresh copy, I just run download_and_compile.sh in a folder that already has a copy of the sources. Then I copy the folder over to the one I want to refresh and remove the build folder within the new one. Then run the script again to produce the executable version I want. As currently structured, download_and_compile.sh requires a separate set of sources for each different version built.

Here's the atom/run/debug script I use for debugging cd $HOME/fg/

#!/bin/bash
# ~/fg/debug 
$cmd = "$HOME/fg/nextd/install/flightgear/bin/fgfs \
  --fg-root=$HOME/fg/nextd/install/flightgear/bin/../fgdata/ \
  --log-level=2 \
  --fg-scenery=$HOME/fg/nextd/install/flightgear/bin/../fgdata/Scenery \
  --fg-aircraft=$HOME/fg/nextd/install/flightgear/bin/../fgdata/Aircraft \
  --fg-aircraft=$HOME/.fgfs/Aircraft/org.flightgear.fgaddon/Aircraft \
  --httpd=5401 --telnet=5400 --airport=KSFO"
 $gdbgui "$cmd"

When the source window appears, press the "r" key to start debugging.

To just look at code:

cd ~/fg atom next/flightgear/src next/simgear/simgear next/install/flightgear/fgdata

We are now ready for: Flightgear_and_Simgear_Code: From_Command_Line_to_Holding_Short