root/OpenSceneGraph/branches/OpenSceneGraph-2.8/README.txt @ 10089

Revision 10089, 6.2 kB (checked in by robert, 8 years ago)

Update ChnageLog?, dates and authors for 2.8.1-rc3

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
1Welcome to the OpenSceneGraph (OSG).
3For up-to-date information on the project, in-depth details on how to
4compile and run libraries and examples, see the documentation on the
5OpenSceneGraph website:
9For the impatient, read the simplified build notes below. For support
10subscribe to our public mailing list:
15Robert Osfield.
16Project Lead.
1723rd April 2009.
21How to build the OpenSceneGraph
24The OpenSceneGraph uses the CMake build system to generate a
25platform-specific build environment.  CMake reads the CMakeLists.txt
26files that you'll find throughout the OpenSceneGraph directories,
27checks for installed dependenciesand then generates the appropriate
28build system.
30If you don't already have CMake installed on your system you can grab
31it from, use version 2.4.6 or later.  Details on the
32OpenSceneGraph's CMake build can be found at:
36Under unices (i.e. Linux, IRIX, Solaris, Free-BSD, HP-Ux, AIX, OSX)
37use the cmake or ccmake command-line utils, or use the included tiny
38configure script that'll run cmake for you.  The configure script
39simply runs 'cmake . -DCMAKE_BUILD_TYPE=Release' to ensure that you
40get the best performance from your final libraries/applications.
42    cd OpenSceneGraph
43    ./configure
44    make
45    sudo make install
47Alternatively, you can create an out-of-source build directory and run
48cmake or ccmake from there. The advantage to this approach is that the
49temporary files created by CMake won't clutter the OpenSceneGraph
50source directory, and also makes it possible to have multiple
51independent build targets by creating multiple build directories. In a
52directory alongside the OpenSceneGraph use:
54    mkdir build
55    cd build
56    cmake ../OpenSceneGraph -DCMAKE_BUILD_TYPE=Release
57    make
58    sudo make install
60Under Windows use the GUI tool CMakeSetup to build your VisualStudio
61files. The following page on our wiki dedicated to the CMake build
62system should help guide you through the process:
66Under OSX you can either use the CMake build system above, or use the
67Xcode projects that you will find in the OpenSceneGraph/Xcode
68directory. See release notes on OSX CMake build below.
70For further details on compilation, installation and platform-specific
71information read "Getting Started" guide:
76-- Release notes on OSX build, by Eric Sokolowsky, August 5, 2008
78There are several ways to compile OpenSceneGraph under OSX.  The
79recommended way is to use CMake 2.6 to generate Xcode projects, then use
80Xcode to build the library. The default project will be able to build
81Debug or Release libraries, examples, and sample applications. Here are
82some key settings to consider when using CMake:
84BUILD_OSG_EXAMPLES - By default this is turned off. Turn this setting on
85to compile many great example programs.
87CMAKE_OSX_ARCHITECTURES - Xcode can create applications, executables,
88libraries, and frameworks that can be run on more than one architecture.
89Use this setting to indicate the architectures on which to build OSG.
90Possibilities include ppc, ppc64, i386, and x86_64. Building OSG using
91either of the 64-bit options (ppc64 and x86_64) has its own caveats
94OSG_BUILD_APPLICATION_BUNDLES - Normally only executable binaries are
95created for the examples and sample applications. Turn this option on if
96you want to create real OSX .app bundles. There are caveats to creating bundles, see below.
99OSG_WINDOWING_SYSTEM - You have the choice to use Carbon or X11 when
100building applications on OSX. Under Leopard and later, X11 applications,
101when started, will automatically launch X11 when needed. However,
102full-screen X11 applications will still show the menu bar at the top of
103the screen. Since many parts of the Carbon user interface are not
10464-bit, X11 is the only supported option for OSX applications compiled
105for ppc64 or x86_64.
107There is an Xcode directory in the base of the OSG software
108distribution, but its future is limited, and will be discontinued once
109the CMake project generator completely implements its functionality.
112APPLICATION BUNDLES (.app bundles)
114The example programs when built as application bundles only contain the
115executable file. They do not contain the dependent libraries as would a
116normal bundle, so they are not generally portable to other machines.
117They also do not know where to find plugins. An environmental variable
118OSG_LIBRARY_PATH may be set to point to the location where the plugin files are located. OSG_FILE_PATH may be set to point to the location
120where data files are located. Setting OSG_FILE_PATH to the
121OpenSceneGraph-Data directory is very useful when testing OSG by running
122the example programs.
124Many of the example programs use command-line arguments. When
125double-clicking on an application (or using the equivalent "open"
126command on the command line) only those examples and applications that
127do not require command-line arguments will successfully run. The
128executable file within the .app bundle can be run from the command-line
129if command-line arguments are needed.
134OpenSceneGraph will not compile successfully when OSG_WINDOWING_SYSTEM is
135Carbon and either x86_64 or ppc64 is selected under CMAKE_OSX_ARCHITECTURES,
136as Carbon is a 32bit only API. A version of the osgviewer library written in
137Cocoa is needed. However, OSG may be compiled under 64-bits if the X11
138windowing system is selected. However, Two parts of the OSG default
139distribution will not work with 64-bit X11: the osgviewerWX example
140program and the osgdb_qt (Quicktime) plugin. These must be removed from
141the Xcode project after Cmake generates it in order to compile with
14264-bit architectures. The lack of the latter means that images such as
143jpeg, tiff, png, and gif will not work, nor will animations dependent on
144Quicktime. A new ImageIO-based plugin is being developed to handle the
145still images, and a QTKit plugin will need to be developed to handle
Note: See TracBrowser for help on using the browser.