Building osgEarth

osgEarth is a cross-platform library. It uses the CMake build system. You will need version 2.8 or newer. (This is the same build system that OpenSceneGraph uses.)

NOTE: To build osgEarth for iOS see Building osgEarth (and OSG) for iOS

Get the Source Code

Option 1: use GIT

osgEarth is hosted on GitHub. You will need a git client to access it. We recommend TortoiseGit for Windows users.

To clone the repository, point your client at:

git://github.com/gwaldron/osgearth.git

Option 2: download a tagged version

To download a tarball or ZIP archive of the source code, visit the osgEarth Tags and select the one you want. The latest official release will be at or near the top.

Get the Dependencies

Required dependencies

Recommended pre-built dependencies

  • AlphaPixel has pre-built OSG and 3rd-party dependencies for various architectures.
  • Pre-built GDAL binaries for various architectures.

Optional depedencies: osgEarth will compile without them. Look and decide what you need

  • GEOS 3.2.0 or later - C++ library for topological operations. osgEarth uses GEOS to perform various geometry operations like buffering and intersections. If you plan to use vector feature data in osgEarth, you probably want this.

  • QT_ - Cross-platform UI framework. Used to built the osgEarthQt support library, which is useful (though not required) for building Qt applications that us osgEarth. Point the QT_QMAKE_EXECUTABLE CMake variable to the qmake.exe you want to use and CMake will populate all the other QT variables.

Build it

Make sure you built OSG and all the dependencies first.

osgEarth uses CMake, version 2.8 or later. Since OSG uses CMake as well, once you get OSG built the process should be familiar.

Here are a few tips.

  • Always do an “out-of-source” build with CMake. That is, use a build directory that is separate from the source code. This makes it easier to maintain separate versions and to keep GIT updates clean.
  • For optional dependencies (like GEOS), just leave the CMake field blank if you are not using it.
  • For the OSG dependencies, just input the OSG_DIR variable, and when you generate CMake will automatically find all the other OSG directories.
  • As always, check the forum if you have problems!

Good luck!!