For Win32 and Linux, you do not need to build the library to use it! Precompiled Win32 and Linux binaries are provided at http://g3d-cpp.sf.net. For Mac OS X, you do need to build it, but it's relatively easy to build.
This distribution contains two CVS modules: cpp and data. Together these have all of the files you need to build and install the library on Windows or Linux. They also contain some files for building on OS/X. OS/X is not a supported platform, however.
It is assumed that you obtained this source by checking it out of SourceForge.net CVS for the "g3d-cpp" project (http://sf.net/projects/g3d-cpp) or downloading a release zipfile. To check out via anonymous CVS:
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/g3d-cpp login cvs -z3 -d:pserver:anonymous@cvs.sf.net:/cvsroot/g3d-cpp co cpp cvs -z3 -d:pserver:anonymous@cvs.sf.net:/cvsroot/g3d-cpp co data
The Cygwin versions of doxygen and python do not execute correctly from a Windows command prompt, so you will have to download and install them separately if you have Cygwin.
C:\Program Files\Microsoft Visual
Studio\Common\MSDev98\Bin\;c:\doxygen;c:\python\bin
.
build install libdir
" in the cpp
directory, where libdir is the parent directory you want to install into (e.g. "c:\libraries
")
chmod u+x build
" in the cpp
directory.
./build install libdir
" in the cpp
directory, where libdir is the parent directory you want to install into (e.g. "/u/$USER/lib
")
We recommend using Xcode 2.1 or 2.2 to build G3D, and then using the same version of Xcode to build your G3D programs, both using Xcode project files included in the source distribution, and from the command line. Here, we first give instructions to get prerequisites required to build either way, then directions to build with Xcode, then include the instructions for a more traditional, unix/command-line style build.
Common Setup
Building G3D with Xcode
Building G3D from the command line
PATH=/Applications/Doxygen.app/Contents/Resources/:$PATH
to your ~/.bashrc file).
source ~/.bashrc
or log out so all changes can take effect.
chmod u+x build
in the cpp directory.
./build install targetdir
in the cpp directory
../data
directory contains
a checkout of the data directory. The subdirectories have
the following structure:
|-The red directories can be deleted; they are built from the source directory. Some subdirectories are not shown.cpp
The cpp module | |-source
| | |-data
| | |-demos
A duplicate of some essential files from the data module | | | |-font
| | | ... | | |-G3Dcpp
| | |-GLG3Dcpp
| | |-IJG
| | |-html
| | |-include
| | | |-G3D
| | | |-GLG3D
| | | |-glh
The latest GL extensions. G3D doesn't use the system GL headers. | | | | |-extgen
| | | | '-GL
| | | '-zlib
| | |-lib
| | '-test
| |-install
The library ready for use (copy to the location of your choice) | |-release
Official G3D release zipfiles (only Morgan needs these) | '-temp
'-data
The data module |-font
|-quake2
...
In the distribution, the
* "All files" refers to
any file except those matching the following regular expressions:
cpp/data
directory is stored in
g3d-data-M_mm.zip and the other (built) files are in g3d-cpp-M_mm.zip.
They are separated because the data is so large. Users who want
source code can download it from CVS following the instructions
at Meta-Build targets
build install
Builds a local installation for using the library. This is how
Linux users generate the .so's to link against.
build release (Windows only)
Builds install, then zips g3d-cpp-M_mm.zip and g3d-data-M_mm.zip
for uploading to Brown/G3D for users. To make a release, you must
have already done 'build install' on Linux and copied the binaries
over. Note that the demos go in the data zipfile, not the cpp zipfile.
Also, note that the release process actually deletes the demos
and data from the install directory.
build clean
cpp/temp
cpp/install
cpp/release
Build Targets
The build script is a Python script that is executed from a shell
script. It accepts a single argument which is the name of the build
target. Specifications for the targets follow. The next section of
this document describes the meta-targets for making a release.
lib
cpp/install/lib/G3D.lib
,
cpp/install/lib/G3D-debug.lib
,
cpp/install/lib/GLG3D.lib
,
cpp/install/lib/GLG3D-debug.lib
(or corresponding .a/.so files on Linux)
cpp/source/lib
to cpp/install/lib
doc
cpp/source
test
'\.ncb$',
'\.opt$',
'\.ilk$',
'\.pdb$',
'\.bsc$',
'\.o$',
'\.obj$',
'\.pyc$',
'\.plg$',
'^#.*#$',
'~$',
'^log.txt$',
'^stderr.txt$',
'^stdout.txt$',
'\.log$',
'^graveyard$',
'^CVS$',
'^Debug$',
'^Release$'