Compare commits

..

2 Commits

Author SHA1 Message Date
Robert Osfield
a2f01f0ead Changed the OpenThreads extern to a specific OpenTreads tag 2008-04-03 15:28:21 +00:00
Robert Osfield
1d9eab8406 Release OpenSceneGraph-2.2.0 2007-10-04 11:24:29 +00:00
3290 changed files with 225474 additions and 388527 deletions

View File

@@ -1,468 +1,285 @@
OpenSceneGraph Library 3.0.0
OpenSceneGraph Library 2.2.0
464 Contributors:
281 Contributors:
Firstname Surname
-----------------
Robert Osfield
Don Burns
Stephan Huber
Paul Martz
Marco Jez
Mathias Fr<46>hlich
Mike Weiblen
Jean-S<>bastien Guay
Farshid Lashkari
Eric Wing
Ulrich Hertlein
Cedric Pinson
Wang Rui
Brede Johansen
Sukender
Michael Platings
Bob Kuehne
Geoff Michel
Eric Sokolowsky
Wojciech Lewandowski
David Callu
Trajce Nikolov
Tim Moore
Paul Martz
Farshid Lashkari
Stephan Huber
Bob Kuehne
Martin Lavery
Colin McDonald
Ulrich Hertlein
Eric Sokolowsky
Tree
Luigi Calori
Mike Wittman
Roland Smeenk
Roger James
Jeremy Moles
Chris Hanson
Mattias Helsing
Jason Beverage
Jan Peciva
Andy Skinner
Paul Melis
J.P. Delport
David Fries
Tom Jolley
Luigi Calori
Trajce Nikolov
Pavel Moloshtan
Jason Daly
Philip Lowman
Per Fahlberg
Tom Jolley
Mathias Fr<46>hlich
Norman Vine
Art Tevs
Alberto Luaces
Serge Lages
Magnus Kessler
Laurens Voerman
David Callu
Alberto Farre
Terry Welsh
Sherman Wilcox
Robert Milharcic
Olaf Flebbe
Mathieu Marache
Roger James
Andr<EFBFBD> Garneau
Adrian Egli
Ruben Lopez
Randall Hopper
Mourad Boufarguine
Brad Christiansen
Olaf Flebbe
Gideon May
Don Tidrow
Chris Denham
Stephane Lamoliatte
Romano Jos<6F> Magacho da Silva
Michael Gronager
Joakim Simonsson
David Spilling
Daniel Sj<53>lie
Bryan Thrall
Glenn Waldron
Fabien Lavignotte
Torben Dannhauer
Melchior Franz
Lionel Lagarde
Jan Ciger
Rafa Gaitan
Neil Hughes
Mike Connell
Martin Beckett
Colin McDonald
Chris Hanson
Jean-Sebastien Guay
David Spilling
Andy Skinner
Per Fahlberg
Joran Jessurun
Gino van den Bergen
Frederic Marmond
David Guthrie
Csaba Halasz
David Fries
Boris Bralo
Andreas Ekstrand
Yefei He
Sondra Iverson
Simon Julier
Rune Schmidt Jensen
Neil Salter
Mike Connell
Jeremy Moles
Jason Daly
Jason Beverage
Ben Discoe
Sasa Bistrovic
Rainer Oder
Paul Melis
Martin Naylor
Martin Aumueller
Mario Valle
Luc Frauciel
Gordon Tomlinson
Cory Riddell
Carlo Camporesi
Ben Discoe
Thibault Genessay
Sasa Bistrovic
Ravi Mathur
Ralf Habacker
Neil Groves
Markus Trenkwalder
Loic Dachary
Joseph Steel
Jorge Izquierdo
John Shue
Chuck Seberino
Joakim Simonsson
Jan Peciva
Jan Ciger
Gordon Tomlinson
Brad Colbert
Art Tevs
Andreas Ekstrand
Vivek Rajan
Uwe Woessner
Thom DeCarlo
Tatsuhiro Nishioka
Tanguy Fautr<74>
Stephane Simon
Sherman Wilcox
Sean Spicer
Richard Schmidt
Peter Hrenka
Paul de Repentigny
Ravi Mathur
Nikolaus Hanekamp
Neil Salter
Mihai Radu
Michael Platings
Michael Hartman
Martins Innus
Maciej Krol
Johannes Baeuerle
Johan Nouvel
Hartwig Wiesmann
Frederic Bouvier
Donn Mielcarek
Laurens Voerman
Joseph Steel
John Shue
David Guthrie
Corbin Holtz
Blasius Czink
Brad Christiansen
Adrian Egli
Toshiyuki Takahei
Tony Horrobin
Thom DeCarlo
Terry Welsh
Simon Julier
Sebastien Grignard
Ryan Kawicki
Romano Magacho
Riccardo Corsi
Nico Kruithof
Mikhail Izmestev
Maria Ten
Liang Aibin
Paul de Repentigny
Mihai Radu
Luc Frauciel
Leandro Motta Barros
Katharina Plugge
John Vidar Larring
John Kelso
John Ivar
Gustav Haapalahti
Emmanuel Roche
Daniel Larimer
Colin Dunlop
Jos<EFBFBD> Delport
Carlo Camporesi
Bryan Thrall
Bruce Clay
Bradley Anderegg
Andreas Goebel
Alok Priyadarshi
Alberto Barbati
Alan Dickinson
Vladimir Shabanov
Tugkan Calapoglu
Tim Daoust
Thomas Hogarth
Uwe Woessner
Sohey Yamamoto
Sergey Leontyev
Santosh Gaikwad
Rudolf Wiedemann
Rene Molenaar
Serge Lages
Phil Atkin
Nathan Monteleone
Miguel Escriva
Mattias Linde
Mark Sciabica
Lilin Xiong
Lee Butler
Konstantin Sinitsyn
Mathieu Marache
Maria Ten
Ken Sewell
Julian Ortiz
Jim Vaughan
John Kelso
Jeremy Bell
Jaromir Vitek
James French
Gary Quinn
Garrett Potts
Gabor Dorka
Fabio Mierlo
Erik den Dekker
Doug McCorkle
Donald Cipperly
Don Leich
Donn Mielcarek
Domenico Mangieri
Daniel Larimer
Charles Cole
Blake Williams
Antoine Hue
Andrew Bettison
Anders Backman
Ali Botorabi
Alexander Wiebel
Alexander Irion
Zach Deedler
Yuzhong Shen
Warren Macchi
Vincent Bourdier
Tugkan Calapoglu
Tony Horrobin
Tim Daoust
Thibault Genessay
Terrex
Tassilo Glander
Sylvain Marie
Steve Lunsford
Stephane Simon
Stephan Eilemann
Stanislav Blinov
Sebastian Messerschmidt
Ryan Pavlik
Raymond de Vries
Ralf Kern
Piotr Gwiazdowski
Pierre Haritchabalet
Roland Smeenk
Riccardo Corsi
Rafa Giatan
Philip Lowman
Peter Hrenka
Perry Miller
Paul Obermeier
Nguyen Van Truong
Nathan Cournia
Morn<EFBFBD> Pistorius
Nathan Monteleone
Michael Henheffer
Michael Guerrero
Maya Leonard
Max Bandazian
Mathias Fiedler
Max Behensky
Mathew May
Martin Spott
Martijn Kragtwijk
Marius Heise
Marcin Hajder
Lukasz Izdebski
Lilith Bryant
Lars Nilsson
Kevin Moiule
Keith Steffen
Julen Garcia
Joseph Winston
John Aughey
Joachim Pouderoux
Jean-Christophe Lombardo
Javier Taibo
James Moliere
Johan Nouvel
Igor Kravtchenko
Himar Carmona
He Sicong
Guy Volckaert
Gustavo Wagner
Guillaume Taze
Guillaume Chouvenc
Gerrick Bivins
George Tarantilis
Ferdi Smit
Eric Buehler
Eduardo Poyart
Garret Potts
Fabio Mierlo
Edgar Ellis
Dimi Christopoulos
Dietmar Funck
David Ergo
Daniel Trstenjak
Craig Bosma
Christophe Loustaunau
Brad Anderegg
Aric Aumann
Csaba Halasz
Andrew Sampson
Andrew Lorino
Alexandre Amalric
Alessandro Terenzi
Andreas Goebel
Alberto Luaces
Zbigniew Sroczynski
Yuri Vilmanis
Xin Li
Wojciech Lewandowski
Warren Macchi
Wang Lam
Walter J. Altice
Volker Walkiewicz
Vladimir Vukicevic
Vlad Danciu
Vivien Delage
Vincent Vivanloc
Vincent Gadoury
Vasily Radostev
Valery Bickov
Vaclav Bilek
Tyge L<EFBFBD>vset
Tyge
Troy Yee
Tomas Hogarth
Tomas Hnilica
Todd Furlong
Tino Schwarze
Thomas Weidner
Tan Dunning
Stewart Andreason
Steven Thomas
Simon Hammett
Simon Carmody
Simon Buckley
Sid Byce
Shuxing Xiao
Tim Moore
Thom Carlo
Tery Welsh
Tanguy Fautr<74>
Sylvan Marie
Sylvain Marie
Shane Arnott
Sebastien Kuntz
Ruth Lang
Ruben Smelik
Ross Anderson
Rudolf Wiedemann
Ronny Krueger
Ronald van Maarseveen
Romain Charbit
Robert Swain
Rob Smith
Rob Radtke
Rob Bloemkool
Rick Pingry
Rick Appleton
Reinhard Sainitzer
Rein Kadijk
Ragnar Hammarqvist
Ralf Kern
Qing Shen
Piotr Rak
Pierre Bourdin
Philipp Svehla
Philipp Siemoleit
Philipp M<>chler
Petr Salinger
Peter Bear
Peter Amstutz
Paul Palumbo
Paul Fredrikson
Paul Fotheringham
Pau Garcia
Patrick Hartling
Parag Chaudhur
Panagiotis Papadakos
Panagiotis Koutsourakis
Orhun Birsoy
Oliver Neumann
Ole-Morten Duesund
Nicolas Brodu
Morten Haukness
Mojtaba Fathi
Nathan Cournia
Morn<EFBFBD> Pistorius
Mirko Viviani
Mikkel Gjøl
Mike Garrity
Michael Polak
Michael Morrison
Michael Logan
Max Rhiener
Max Behensky
Mauricio Hofmam
Matthew May
Matthew Johnson-Roberson
Matt Green
Matt Burke
Mathias Walker
Mathias Goldau
Mathia Walker
Mason Menninger
Martin von Gargern
Martin Scheffler
Martin Lambers
Martin Innus
Martin Beck
Mario Guimaraes
Marco Sciabica
Marco Lehmann
Marcin Prus
Maik Keller
Lukas Diduch
Martin Spott
Martin Amueller
Mario Valle
Marin Lavery
Louis Hamilton
Lewis Harmon
Laurence Muller
Laura Cerritelli
Kyle Centers
Kristopher Bixler
Konstantin Matveyev
Kim Seokhwan
Karsten Weiss
Karl Heijdenberg
Jutta Sauer
Julian Scheid
Juan Hernando
Josh Portway
John Tan
John Grant
John Donovan
John Davis
John Cummings
John Argentieri
Joan Abadie
Jim Brooks
Jeroen den Dekker
Joakim Simmonsson
Jay Zuckerman
Jason Howlett
Jason Ballenger
Jan Klimke
James Killian
J.E. Hoffmann
Holger Helmich
Henrique Bucher
Hautio Jari
Gunter Huber
Gustavo Wagner
Guillaume Millet
Gregory Jaegy
Graeme Harkness
Glenn Waldrom
Gian Lorenzetto
George Papagiannakis
Gary Quinn
Galen Faidley
Frida Schlaug
Frederic Smith
Frashid Lashkari
Frank Warmerdam
Frank Midgley
Frank Lindeman
Frank Lichtenheld
Ferdinand Cornelissen
Fajran Iman
Fabien Dachicourt
Erik Johnson
Eduardo Alberto
Eric Sokolwsky
Edmond Gheury
Ed Ralston
Duvan Cope
Duncan Cavens
Drew Whitehouse
Douglas A. Pouk
Doug McCorkle
Donny Cipperly
Dean Iverson
David Jung
Danny Valente
Daniel Stien
David Gurhrie
Dan Minor
C<EFBFBD>sar L. B. Silveira
Cyril Brulebois
Clay Fowler
Chuck Sembroski
Christopher Blaesius
Christian Kaser
Christian Ehrlicher
Christian Buchner
Chuck Seberion
Chris McGlone
Carlos Garcea
Bryce Eldridge
Bruno Herbelin
Brian Keener
Brandon Hamm
Brad Anderegg
Bora Utka
Bj<EFBFBD>rn Hein
Bill Prendergast
Bernardt Duvenhage
Benoit Laniel
Benjamin Wasty
Blasius Czink
Ben van Basten
Bart Gallet
Axel Volley
Anthousis Andreadis
Andy Preece
Andrew Reyonolds
Andreas Roth
Andreas Jochens
Andre Normann
Almalric Alexandre
Allen Bierbaum
Alexander Sinditskiy
Alexandre Amalric
Alberto Jaspe
Alan Purvis
Alan Ott

File diff suppressed because it is too large Load Diff

View File

@@ -1,137 +0,0 @@
# Check for availability of atomic operations
# This module defines
# OPENTHREADS_HAVE_ATOMIC_OPS
OPTION(OPENTHREADS_ATOMIC_USE_MUTEX "Set to ON to force OpenThreads to use a mutex for Atmoic." OFF)
IF (OPENTHREADS_ATOMIC_USE_MUTEX)
SET(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS 0)
SET(_OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS 0)
SET(_OPENTHREADS_ATOMIC_USE_SUN 0)
SET(_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED 0)
SET(_OPENTHREADS_ATOMIC_USE_BSD_ATOMIC 0)
SET(_OPENTHREADS_ATOMIC_USE_MUTEX 1)
ELSE()
INCLUDE(CheckCXXSourceRuns)
# Do step by step checking,
CHECK_CXX_SOURCE_RUNS("
#include <cstdlib>
int main()
{
unsigned value = 0;
void* ptr = &value;
__sync_add_and_fetch(&value, 1);
__sync_synchronize();
__sync_sub_and_fetch(&value, 1);
if (!__sync_bool_compare_and_swap(&value, 0, 1))
return EXIT_FAILURE;
if (!__sync_bool_compare_and_swap(&ptr, ptr, ptr))
return EXIT_FAILURE;
return EXIT_SUCCESS;
}
" _OPENTHREADS_ATOMIC_USE_GCC_BUILTINS)
CHECK_CXX_SOURCE_RUNS("
#include <stdlib.h>
int main(int, const char**)
{
unsigned value = 0;
void* ptr = &value;
__add_and_fetch(&value, 1);
__synchronize(value);
__sub_and_fetch(&value, 1);
if (!__compare_and_swap(&value, 0, 1))
return EXIT_FAILURE;
if (!__compare_and_swap((unsigned long*)&ptr, (unsigned long)ptr, (unsigned long)ptr))
return EXIT_FAILURE;
return EXIT_SUCCESS;
}
" _OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS)
CHECK_CXX_SOURCE_RUNS("
#include <atomic.h>
#include <cstdlib>
int main(int, const char**)
{
uint_t value = 0;
void* ptr = &value;
atomic_inc_uint_nv(&value);
membar_consumer();
atomic_dec_uint_nv(&value);
if (0 != atomic_cas_uint(&value, 0, 1))
return EXIT_FAILURE;
if (ptr != atomic_cas_ptr(&ptr, ptr, ptr))
return EXIT_FAILURE;
return EXIT_SUCCESS;
}
" _OPENTHREADS_ATOMIC_USE_SUN)
CHECK_CXX_SOURCE_RUNS("
#include <windows.h>
#include <intrin.h>
#include <cstdlib>
#pragma intrinsic(_InterlockedAnd)
#pragma intrinsic(_InterlockedOr)
#pragma intrinsic(_InterlockedXor)
int main(int, const char**)
{
volatile long value = 0;
long data = 0;
long* volatile ptr = &data;
InterlockedIncrement(&value);
MemoryBarrier();
InterlockedDecrement(&value);
if (0 != InterlockedCompareExchange(&value, 1, 0))
return EXIT_FAILURE;
if (ptr != InterlockedCompareExchangePointer((PVOID volatile*)&ptr, (PVOID)ptr, (PVOID)ptr))
return EXIT_FAILURE;
return EXIT_SUCCESS;
}
" _OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED)
CHECK_CXX_SOURCE_RUNS("
#include <libkern/OSAtomic.h>
int main()
{
volatile int32_t value = 0;
long data = 0;
long * volatile ptr = &data;
OSAtomicIncrement32(&value);
OSMemoryBarrier();
OSAtomicDecrement32(&value);
OSAtomicCompareAndSwapInt(value, 1, &value);
OSAtomicCompareAndSwapPtr(ptr, ptr, (void * volatile *)&ptr);
}
" _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC)
IF(NOT _OPENTHREADS_ATOMIC_USE_GCC_BUILTINS AND
NOT _OPENTHREADS_ATOMIC_USE_MIPOSPRO_BUILTINS AND
NOT _OPENTHREADS_ATOMIC_USE_SUN AND
NOT _OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED AND
NOT _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC)
SET(_OPENTHREADS_ATOMIC_USE_MUTEX 1)
ENDIF()
ENDIF()

View File

@@ -3,10 +3,10 @@
# all the paramenter are required, in case of lists, use "" in calling
################################################################################################
MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBUGSUFFIX EXSUFFIX)
MESSAGE(STATUS "searching ${DEPNAME} -->${INCLUDEFILE}<-->${LIBRARY_NAMES_BASE}<-->${SEARCHPATHLIST}<--")
MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES SEARCHPATHLIST DEBUGSUFFIX)
MESSAGE(STATUS "searching ${DEPNAME} -->${INCLUDEFILE}<-->${LIBRARY}<-->${SEARCHPATHLIST}<--")
SET(MY_PATH_INCLUDE )
SET(MY_PATH_LIB )
@@ -14,31 +14,24 @@ MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBU
SET(MY_PATH_INCLUDE ${MY_PATH_INCLUDE} ${MYPATH}/include)
SET(MY_PATH_LIB ${MY_PATH_LIB} ${MYPATH}/lib)
ENDFOREACH( MYPATH ${SEARCHPATHLIST} )
FIND_PATH("${DEPNAME}_INCLUDE_DIR" ${INCLUDEFILE}
${MY_PATH_INCLUDE}
NO_DEFAULT_PATH
)
MARK_AS_ADVANCED("${DEPNAME}_INCLUDE_DIR")
#MESSAGE( " ${DEPNAME}_INCLUDE_DIR --> ${${DEPNAME}_INCLUDE_DIR}<--")
SET(LIBRARY_NAMES "")
FOREACH(LIBNAME ${LIBRARY_NAMES_BASE})
LIST(APPEND LIBRARY_NAMES "${LIBNAME}${EXSUFFIX}")
ENDFOREACH(LIBNAME)
FIND_LIBRARY("${DEPNAME}_LIBRARY"
FIND_LIBRARY("${DEPNAME}_LIBRARY"
NAMES ${LIBRARY_NAMES}
PATHS ${MY_PATH_LIB}
NO_DEFAULT_PATH
)
SET(LIBRARY_NAMES_DEBUG "")
FOREACH(LIBNAME ${LIBRARY_NAMES_BASE})
LIST(APPEND LIBRARY_NAMES_DEBUG "${LIBNAME}${DEBUGSUFFIX}${EXSUFFIX}")
FOREACH(LIBNAME ${LIBRARY_NAMES})
LIST(APPEND LIBRARY_NAMES_DEBUG "${LIBNAME}${DEBUGSUFFIX}")
ENDFOREACH(LIBNAME)
FIND_LIBRARY("${DEPNAME}_LIBRARY_DEBUG"
NAMES ${LIBRARY_NAMES_DEBUG}
PATHS ${MY_PATH_LIB}
NO_DEFAULT_PATH
)
MARK_AS_ADVANCED("${DEPNAME}_LIBRARY")
#MESSAGE( " ${DEPNAME}_LIBRARY --> ${${DEPNAME}_LIBRARY}<--")
@@ -50,7 +43,7 @@ MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBU
SET(${DEPNAME}_LIBRARY_DEBUG "${${DEPNAME}_LIBRARY}")
ENDIF(NOT ${DEPNAME}_LIBRARY_DEBUG)
ENDIF(${DEPNAME}_INCLUDE_DIR AND ${DEPNAME}_LIBRARY)
ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBUGSUFFIX)
ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES SEARCHPATHLIST DEBUGSUFFIX)
################################################################################################
@@ -58,42 +51,32 @@ ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST D
################################################################################################
MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
FIND_DEPENDENCY(TIFF tiff.h libtiff ${OSG_3RDPARTY_BIN} "D" "_i")
FIND_DEPENDENCY(FREETYPE ft2build.h "freetype;freetype2311MT;freetype234;freetype234MT;freetype235;freetype237;freetype238;freetype244;" ${OSG_3RDPARTY_BIN} "d" "")
FIND_DEPENDENCY(TIFF tiff.h libtiff ${OSG_3RDPARTY_BIN} "D")
FIND_DEPENDENCY(FREETYPE ft2build.h "freetype;freetype219;freetype234;freetype234MT" ${OSG_3RDPARTY_BIN} "_D")
IF(FREETYPE_FOUND)
#forcing subsequent FindFreeType stuff to not search for other variables.... kind of a hack
SET(FREETYPE_INCLUDE_DIR_ft2build ${FREETYPE_INCLUDE_DIR} CACHE PATH "" FORCE)
SET(FREETYPE_INCLUDE_DIR_freetype2 ${FREETYPE_INCLUDE_DIR} CACHE PATH "" FORCE)
SET(FREETYPE_INCLUDE_DIR_ft2build ${FREETYPE_INCLUDE_DIR} CACHE PATH "")
SET(FREETYPE_INCLUDE_DIR_freetype2 ${FREETYPE_INCLUDE_DIR} CACHE PATH "")
MARK_AS_ADVANCED(FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2)
SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
ENDIF(FREETYPE_FOUND)
FIND_DEPENDENCY(CURL curl/curl.h "libcurl;curllib" ${OSG_3RDPARTY_BIN} "D" "")
FIND_DEPENDENCY(JPEG jpeglib.h "libjpeg;jpeg" ${OSG_3RDPARTY_BIN} "D" "")
FIND_DEPENDENCY(GDAL gdal.h "gdal;gdal16" ${OSG_3RDPARTY_BIN} "d" "_i")
FIND_DEPENDENCY(GLUT GL/glut.h glut32 ${OSG_3RDPARTY_BIN} "D" "")
FIND_DEPENDENCY(JPEG jpeglib.h libjpeg ${OSG_3RDPARTY_BIN} "D")
#FIND_DEPENDENCY(GDAL gdal.h "gdal;gdal_i" ${OSG_3RDPARTY_BIN})
FIND_DEPENDENCY(GLUT GL/glut.h glut32 ${OSG_3RDPARTY_BIN} "D")
IF(GLUT_FOUND)
#forcing subsequent FindGlut stuff to not search for other variables.... kind of a hack
SET(GLUT_glut_LIBRARY ${GLUT_LIBRARY} CACHE FILEPATH "")
MARK_AS_ADVANCED(GLUT_glut_LIBRARY)
ENDIF(GLUT_FOUND)
FIND_DEPENDENCY(GIFLIB gif_lib.h "ungif;libungif;giflib" ${OSG_3RDPARTY_BIN} "D" "")
FIND_DEPENDENCY(ZLIB zlib.h "z;zlib;zlib1" ${OSG_3RDPARTY_BIN} "D" "")
FIND_DEPENDENCY(GIFLIB gif_lib.h "ungif;libungif" ${OSG_3RDPARTY_BIN} "D")
FIND_DEPENDENCY(ZLIB zlib.h "z;zlib;zlib1" ${OSG_3RDPARTY_BIN} "D")
IF(ZLIB_FOUND)
FIND_DEPENDENCY(PNG png.h "libpng;libpng13;libpng15" ${OSG_3RDPARTY_BIN} "D" "")
FIND_DEPENDENCY(PNG png.h "libpng;libpng13" ${OSG_3RDPARTY_BIN} "D")
IF(PNG_FOUND)
#forcing subsequent FindPNG stuff to not search for other variables.... kind of a hack
SET(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIR} CACHE FILEPATH "")
MARK_AS_ADVANCED(PNG_PNG_INCLUDE_DIR)
ENDIF(PNG_FOUND)
ENDIF(ZLIB_FOUND)
FIND_DEPENDENCY(LIBXML2 libxml "libxml2" ${OSG_3RDPARTY_BIN} "D" "")
IF(LIBXML2_FOUND)
# The CMAKE find libxml module uses LIBXML2_LIBRARIES -> fill it.... kind of a hack
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY} CACHE FILEPATH "" FORCE)
SET(LIBXML2_XMLLINT_EXECUTABLE ${OSG_3RDPARTY_BIN}/bin/xmllint.exe CACHE FILEPATH "Path to xmllint executable" FORCE)
ENDIF(LIBXML2_FOUND)
#FIND_DEPENDENCY(DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBUGSUFFIX EXSUFFIX)
FIND_Package(NVTT)
ENDIF(ZLIB_FOUND)
#luigi#INCLUDE(FindOSGDepends.cmake)
ENDMACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
@@ -101,42 +84,14 @@ ENDMACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
################################################################################################
# this is code for handling optional 3RDPARTY usage
# this is code for handling optional 3DPARTY usage
################################################################################################
OPTION(USE_3RDPARTY_BIN "Set to ON to use Mike prebuilt dependencies situated side of OpenSceneGraph source. Use OFF for avoiding." ON)
IF(USE_3RDPARTY_BIN)
# Check Architecture
IF( CMAKE_SIZEOF_VOID_P EQUAL 4 )
MESSAGE( STATUS "32 bit architecture detected" )
SET(DESTINATION_ARCH "x86")
ENDIF()
IF( CMAKE_SIZEOF_VOID_P EQUAL 8 )
MESSAGE( STATUS "64 bit architecture detected" )
SET(DESTINATION_ARCH "x64")
ENDIF()
OPTION(USE_3DPARTY_BIN "Set to ON to use Mike prebuilt dependencies situated side of OpenSceneGraph source. Use OFF for avoiding." ON)
IF(USE_3DPARTY_BIN)
GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} PATH)
SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdparty")
IF(NOT EXISTS ${TEST_3RDPARTY_DIR})
SET(3RDPARTY_DIR_BY_ENV $ENV{OSG_3RDPARTY_DIR})
IF(3RDPARTY_DIR_BY_ENV)
MESSAGE( STATUS "3rdParty-Package ENV variable found:${3RDPARTY_DIR_BY_ENV}/${DESTINATION_ARCH}" )
SET(TEST_3RDPARTY_DIR "${3RDPARTY_DIR_BY_ENV}/${DESTINATION_ARCH}")
ELSEIF(MSVC71)
SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdParty_win32binaries_vs71")
ELSEIF(MSVC80)
SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdParty_win32binaries_vs80sp1")
ELSEIF(MSVC90)
SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdParty_win32binaries_vs90sp1")
ENDIF()
ENDIF(NOT EXISTS ${TEST_3RDPARTY_DIR})
SET(ACTUAL_3RDPARTY_DIR "${TEST_3RDPARTY_DIR}" CACHE PATH "Location of 3rdparty dependencies")
SET(ACTUAL_3DPARTY_DIR "${ACTUAL_3RDPARTY_DIR}") # kept for backcompatibility
IF(EXISTS ${ACTUAL_3RDPARTY_DIR})
SET (3rdPartyRoot ${ACTUAL_3RDPARTY_DIR})
SEARCH_3RDPARTY(${ACTUAL_3RDPARTY_DIR})
ENDIF(EXISTS ${ACTUAL_3RDPARTY_DIR})
ENDIF(USE_3RDPARTY_BIN)
SET(ACTUAL_3DPARTY_DIR "${PARENT_DIR}/3rdparty" CACHE PATH "Location of 3rdparty dependencies")
IF(EXISTS ${ACTUAL_3DPARTY_DIR})
SEARCH_3RDPARTY(${ACTUAL_3DPARTY_DIR})
ENDIF(EXISTS ${ACTUAL_3DPARTY_DIR})
ENDIF(USE_3DPARTY_BIN)

View File

@@ -1,50 +0,0 @@
# Locate AndroidNDK
# This module defines
# ANDROID_NDK
# ANDROID_FOUND, if false, do not try to use AndroidNDK
#
FIND_PATH(ANDROID_NDK ndk-build
${ANDROID_NDK}
NO_DEFAULT_PATH
)
IF(NOT ANDROID_NDK)
FIND_PATH(ANDROID_NDK ndk-build
$ENV{ANDROID_NDK}
$ENV{ANDROID_ROOT}
NO_DEFAULT_PATH
)
ENDIF()
IF(NOT ANDROID_NDK)
FIND_PATH(ANDROID_NDK ndk-build
# search for r5c
~/android-ndk-r5c
~/android_develop/android-ndk-r5c
~/ndk-r5c
~/android_develop/ndk-r5c
# search for r5b
~/android-ndk-r5b
~/android_develop/android-ndk-r5b
~/ndk-r5b
~/android_develop/ndk-r5b
# search for r5
~/android-ndk-r5
~/android_develop/android-ndk-r5
~/ndk-r5
~/android_develop/ndk-r5
# search for r4-crystax
~/android-ndk-r4-crystax
~/android_develop/android-ndk-r4-crystax
~/ndk-r4
~/android_develop/ndk-r4
)
ENDIF()
SET(ANDROID_FOUND "NO")
IF(ANDROID_NDK)
SET(ANDROID_FOUND "YES")
MESSAGE(STATUS "Android NDK found in: ${ANDROID_NDK}")
ENDIF(ANDROID_NDK)

View File

@@ -1,275 +1,56 @@
# Locate Collada
# This module defines:
# Locate gdal
# This module defines
# COLLADA_LIBRARY
# COLLADA_FOUND, if false, do not try to link to gdal
# COLLADA_INCLUDE_DIR, where to find the headers
#
# COLLADA_LIBRARY, COLLADA_LIBRARY_DEBUG
# COLLADA_FOUND, if false, do not try to link to Collada dynamically
#
# COLLADA_LIBRARY_STATIC, COLLADA_LIBRARY_STATIC_DEBUG
# COLLADA_STATIC_FOUND, if false, do not try to link to Collada statically
#
# $COLLADA_DIR is an environment variable that would
# correspond to the ./configure --prefix=$COLLADA_DIR
#
# Created by Robert Osfield.
# Check if COLLADA_DIR is set, otherwise use ACTUAL_3DPARTY_DIR:
SET( COLLADA_ENV_VAR_AVAILABLE $ENV{COLLADA_DIR} )
IF ( COLLADA_ENV_VAR_AVAILABLE )
SET(COLLADA_DOM_ROOT "$ENV{COLLADA_DIR}/dom" CACHE PATH "Location of Collada DOM directory" FORCE)
ELSE ( COLLADA_ENV_VAR_AVAILABLE )
SET(COLLADA_DOM_ROOT "${ACTUAL_3DPARTY_DIR}/include/1.4/dom" CACHE PATH "Location of Collada DOM directory" FORCE)
ENDIF( COLLADA_ENV_VAR_AVAILABLE )
IF(APPLE)
SET(COLLADA_BUILDNAME "mac")
ELSEIF(MINGW)
SET(COLLADA_BUILDNAME "mingw")
ELSEIF(MSVC90)
SET(COLLADA_BUILDNAME "vc9")
ELSEIF(MSVC80)
SET(COLLADA_BUILDNAME "vc8")
ELSE(APPLE)
SET(COLLADA_BUILDNAME "linux")
ENDIF(APPLE)
FIND_PATH(COLLADA_INCLUDE_DIR dae.h
${COLLADA_DOM_ROOT}/include
$ENV{COLLADA_DIR}/include
$ENV{COLLADA_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/opt/local/Library/Frameworks #macports
/usr/local/include
/usr/local/include/colladadom
/usr/local/include/collada-dom
/usr/include/
/usr/include/colladadom
/usr/include/collada-dom
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
${ACTUAL_3DPARTY_DIR}/include
)
FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY
NAMES collada_dom collada14dom Collada14Dom libcollada14dom21 libcollada14dom22
FIND_LIBRARY(COLLADA_LIBRARY
NAMES collada_dom
PATHS
${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4
$ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4
$ENV{COLLADA_DIR}/lib
$ENV{COLLADA_DIR}/lib-dbg
$ENV{COLLADA_DIR}
~/Library/Frameworks
/Library/Frameworks
/opt/local/Library/Frameworks #macports
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY_DEBUG
NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d
PATHS
${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d
$ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d
$ENV{COLLADA_DIR}/lib
$ENV{COLLADA_DIR}/lib-dbg
$ENV{COLLADA_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/opt/local/Library/Frameworks #macports
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_STATIC_LIBRARY
NAMES libcollada14dom21-s libcollada14dom22-s libcollada14dom.a
PATHS
${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4
$ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4
$ENV{COLLADA_DIR}/lib
$ENV{COLLADA_DIR}/lib-dbg
$ENV{COLLADA_DIR}
~/Library/Frameworks
/Library/Frameworks
/opt/local/Library/Frameworks #macports
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
NAMES collada_dom-sd collada14dom-sd libcollada14dom21-sd libcollada14dom22-sd libcollada14dom-d.a
PATHS
${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d
$ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d
$ENV{COLLADA_DIR}/lib
$ENV{COLLADA_DIR}/lib-dbg
$ENV{COLLADA_DIR}
~/Library/Frameworks
/Library/Frameworks
/opt/local/Library/Frameworks #macports
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
${ACTUAL_3DPARTY_DIR}/lib
)
# find extra libraries that the static linking requires
FIND_PACKAGE(LibXml2)
IF (LIBXML2_FOUND)
SET(COLLADA_LIBXML_LIBRARY "${LIBXML2_LIBRARIES}" CACHE FILEPATH "" FORCE)
ELSE(LIBXML2_FOUND)
IF(WIN32)
FIND_LIBRARY(COLLADA_LIBXML_LIBRARY
NAMES libxml2
PATHS
${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib
${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib
${ACTUAL_3DPARTY_DIR}/lib
)
ENDIF(WIN32)
ENDIF(LIBXML2_FOUND)
FIND_PACKAGE(ZLIB)
IF (ZLIB_FOUND)
SET(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE)
ELSE(ZLIB_FOUND)
IF(WIN32)
FIND_LIBRARY(COLLADA_ZLIB_LIBRARY
NAMES zlib
PATHS
${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib
${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib
${ACTUAL_3DPARTY_DIR}/lib
)
ENDIF(WIN32)
ENDIF(ZLIB_FOUND)
FIND_LIBRARY(COLLADA_PCRECPP_LIBRARY
NAMES pcrecpp
PATHS
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_PCRECPP_LIBRARY_DEBUG
NAMES pcrecpp-d pcrecppd
PATHS
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_PCRE_LIBRARY
NAMES pcre
PATHS
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_PCRE_LIBRARY_DEBUG
NAMES pcre-d pcred
PATHS
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_MINIZIP_LIBRARY
NAMES minizip
PATHS
${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib
${COLLADA_DOM_ROOT}/external-libs/minizip/mac
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_MINIZIP_LIBRARY_DEBUG
NAMES minizip-d minizipD
PATHS
${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib
${COLLADA_DOM_ROOT}/external-libs/minizip/mac
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY
NAMES libboost_filesystem boost_filesystem libboost_filesystem-vc90-mt libboost_filesystem-vc100-mt
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG
NAMES libboost_filesystem-d boost_filesystem-d libboost_filesystem-vc90-mt-gd libboost_filesystem-vc100-mt-gd
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY
NAMES libboost_system boost_system libboost_system-vc90-mt libboost_system-vc100-mt
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG
NAMES libboost_system-d boost_system-d libboost_system-vc90-mt-gd libboost_system-vc100-mt-gd
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
${ACTUAL_3DPARTY_DIR}/lib
)
SET(COLLADA_FOUND "NO")
IF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY)
IF (COLLADA_INCLUDE_DIR)
SET(COLLADA_FOUND "YES")
ENDIF(COLLADA_INCLUDE_DIR)
ENDIF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY)
IF(COLLADA_LIBRARY AND COLLADA_INCLUDE_DIR)
SET(COLLADA_FOUND "YES")
ENDIF(COLLADA_LIBRARY AND COLLADA_INCLUDE_DIR)

View File

@@ -1,25 +0,0 @@
# Locate Apple CoreVideo (next-generation QuickTime)
# This module defines
# COREVIDEO_LIBRARY
# COREVIDEO_FOUND, if false, do not try to link to gdal
# COREVIDEO_INCLUDE_DIR, where to find the headers
#
# $COREVIDEO_DIR is an environment variable that would
# correspond to the ./configure --prefix=$COREVIDEO_DIR
#
# Created by Eric Wing.
# CoreVideo on OS X looks different than CoreVideo for Windows,
# so I am going to case the two.
IF(APPLE)
FIND_PATH(COREVIDEO_INCLUDE_DIR CoreVideo/CoreVideo.h)
FIND_LIBRARY(COREVIDEO_LIBRARY CoreVideo)
ENDIF()
SET(COREVIDEO_FOUND "NO")
IF(COREVIDEO_LIBRARY AND COREVIDEO_INCLUDE_DIR)
SET(COREVIDEO_FOUND "YES")
ENDIF()

View File

@@ -1,53 +0,0 @@
# Locate directinput
# This module defines
# DIRECTINPUT_LIBRARIES
# DIRECTINPUT_FOUND, if false, do not try to link to directinput
# DIRECTINPUT_INCLUDE_DIR, where to find the headers
#
# $DIRECTINPUT_DIR is an environment variable that would
# point to the this path in the plateform devkit (Samples\Multimedia\DirectShow)
#
# Created by Cedric Pinson.
#
SET( DIRECTINPUT_FOUND FALSE )
IF( WIN32 )
FIND_PATH( DIRECTINPUT_ROOT_DIR Include/D3D10.h
PATHS
$ENV{PATH}
$ENV{PROGRAMFILES}
)
FIND_PATH( DIRECTINPUT_INCLUDE_DIR dinput.h
PATHS
${DIRECTINPUT_ROOT_DIR}/Include
)
FIND_LIBRARY( DIRECTINPUT_LIBRARY dinput7.lib dinput8.lib
PATHS
${DIRECTINPUT_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( DIRECTINPUT_GUID_LIBRARY dxguid.lib
PATHS
${DIRECTINPUT_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( DIRECTINPUT_ERR_LIBRARY dxerr.lib
PATHS
${DIRECTINPUT_ROOT_DIR}/lib/x86
)
SET( DIRECTINPUT_LIBRARIES
${DIRECTINPUT_LIBRARY}
${DIRECTINPUT_GUID_LIBRARY}
${DIRECTINPUT_ERR_LIBRARY}
)
IF ( DIRECTINPUT_INCLUDE_DIR AND DIRECTINPUT_LIBRARIES )
SET( DIRECTINPUT_FOUND TRUE )
ENDIF ( DIRECTINPUT_INCLUDE_DIR AND DIRECTINPUT_LIBRARIES )
ENDIF( WIN32 )
MARK_AS_ADVANCED( DIRECTINPUT_FOUND )

View File

@@ -1,58 +0,0 @@
# Locate directshow
# This module defines
# DIRECTSHOW_LIBRARIES
# DIRECTSHOW_FOUND, if false, do not try to link to directshow
# DIRECTSHOW_INCLUDE_DIR, where to find the headers
#
# $DIRECTSHOW_DIR is an environment variable that would
# point to the this path in the plateform devkit (Samples\Multimedia\DirectShow)
#
# Created by Cedric Pinson.
#
SET(DIRECTSHOW_FOUND "NO")
SET(DIRECTSHOW_SAMPLE_ROOT "$ENV{DIRECTSHOW_DIR}" CACHE PATH "Location of DirectShow sample in devkit")
IF(WIN32)
FIND_PATH(DIRECTSHOW_STRMBASE_INCLUDE_DIRS renbase.h
PATHS
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/
DOC "Location of DirectShow Base include on the windows devkit"
)
FIND_LIBRARY(DIRECTSHOW_STRMBASE_LIBRARY_RELEASE strmbase
PATHS
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release_MBCS/ # sdk 6.1
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release_MBCS/ # sdk 6.1
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release/ # sdk 2003
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release/ # sdk 2003
DOC "Location of DirectShow Base library on the windows devkit"
)
FIND_LIBRARY(DIRECTSHOW_STRMBASE_LIBRARY_DEBUG strmbasd
PATHS
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug_MBCS/ # sdk 6.1
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug_MBCS/ # sdk 6.1
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug/ # sdk 2003
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug/ # sdk 2003
DOC "Location of DirectShow Base library on the windows devkit"
)
IF (DIRECTSHOW_STRMBASE_INCLUDE_DIRS AND DIRECTSHOW_STRMBASE_LIBRARY_RELEASE)
SET(WIN_LIBS winmm d3d9 d3dx9 kernel32 user32 gdi32 winspool shell32 ole32 oleaut32 uuid comdlg32 advapi32)
SET(DIRECTSHOW_FOUND "YES")
SET(DIRECTSHOW_LIBRARY_DEBUG
${DIRECTSHOW_STRMBASE_LIBRARY_DEBUG}
)
SET(DIRECTSHOW_LIBRARY
${DIRECTSHOW_STRMBASE_LIBRARY_RELEASE}
)
SET(DIRECTSHOW_INLUDE_DIRS
${DIRECTSHOW_STRMBASE_INCLUDE_DIRS}
)
ENDIF()
ENDIF()

View File

@@ -1,65 +0,0 @@
# Locate FBX
# This module defines:
# FBX_INCLUDE_DIR, where to find the headers
#
# FBX_LIBRARY, FBX_LIBRARY_DEBUG
# FBX_FOUND
#
# $FBX_DIR is an environment variable that would
# correspond to the ./configure --prefix=$FBX_DIR
IF(APPLE)
SET(FBX_LIBDIR "gcc4/ub")
ELSEIF(CMAKE_COMPILER_IS_GNUCXX)
SET(FBX_LIBDIR "gcc4")
ELSEIF(MSVC80)
SET(FBX_LIBDIR "vs2005")
ELSEIF(MSVC90)
SET(FBX_LIBDIR "vs2008")
ELSEIF(MSVC100 OR MSVC_VER>1600)
SET(FBX_LIBDIR "vs2010")
ENDIF()
IF(APPLE)
# do nothing
ELSEIF(CMAKE_CL_64)
SET(FBX_LIBDIR ${FBX_LIBDIR}/x64)
ELSEIF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(FBX_LIBDIR ${FBX_LIBDIR}/x64)
ELSE()
SET(FBX_LIBDIR ${FBX_LIBDIR}/x86)
ENDIF()
IF(APPLE)
SET(FBX_LIBNAME "fbxsdk-2012.1-static")
ELSEIF(CMAKE_COMPILER_IS_GNUCXX)
SET(FBX_LIBNAME "fbxsdk-2012.1-static")
ELSE()
SET(FBX_LIBNAME "fbxsdk-2012.1-md")
ENDIF()
SET(FBX_LIBNAME_DEBUG ${FBX_LIBNAME}d)
SET( FBX_SEARCH_PATHS
$ENV{FBX_DIR}
$ENV{ProgramW6432}/Autodesk/FBX/FbxSdk/2012.1
$ENV{PROGRAMFILES}/Autodesk/FBX/FbxSdk/2012.1
/Applications/Autodesk/FBXSDK20121
)
# search for headers & debug/release libraries
FIND_PATH(FBX_INCLUDE_DIR "fbxsdk.h"
PATHS ${FBX_SEARCH_PATHS}
PATH_SUFFIXES "include")
FIND_LIBRARY( FBX_LIBRARY ${FBX_LIBNAME}
PATHS ${FBX_SEARCH_PATHS}
PATH_SUFFIXES "lib/${FBX_LIBDIR}")
FIND_LIBRARY( FBX_LIBRARY_DEBUG ${FBX_LIBNAME_DEBUG}
PATHS ${FBX_SEARCH_PATHS}
PATH_SUFFIXES "lib/${FBX_LIBDIR}")
IF(FBX_LIBRARY AND FBX_LIBRARY_DEBUG AND FBX_INCLUDE_DIR)
SET(FBX_FOUND "YES")
ELSE()
SET(FBX_FOUND "NO")
ENDIF()

View File

@@ -1,165 +0,0 @@
# Locate ffmpeg
# This module defines
# FFMPEG_LIBRARIES
# FFMPEG_FOUND, if false, do not try to link to ffmpeg
# FFMPEG_INCLUDE_DIR, where to find the headers
#
# $FFMPEG_DIR is an environment variable that would
# correspond to the ./configure --prefix=$FFMPEG_DIR
#
# Created by Robert Osfield.
#In ffmpeg code, old version use "#include <header.h>" and newer use "#include <libname/header.h>"
#In OSG ffmpeg plugin, we use "#include <header.h>" for compatibility with old version of ffmpeg
#We have to search the path which contain the header.h (usefull for old version)
#and search the path which contain the libname/header.h (usefull for new version)
#Then we need to include ${FFMPEG_libname_INCLUDE_DIRS} (in old version case, use by ffmpeg header and osg plugin code)
# (in new version case, use by ffmpeg header)
#and ${FFMPEG_libname_INCLUDE_DIRS/libname} (in new version case, use by osg plugin code)
# Macro to find header and lib directories
# example: FFMPEG_FIND(AVFORMAT avformat avformat.h)
MACRO(FFMPEG_FIND varname shortname headername)
# old version of ffmpeg put header in $prefix/include/[ffmpeg]
# so try to find header in include directory
FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername}
PATHS
${FFMPEG_ROOT}/include
$ENV{FFMPEG_DIR}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
PATH_SUFFIXES ffmpeg
DOC "Location of FFMPEG Headers"
)
FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
PATHS
${FFMPEG_ROOT}/include
$ENV{FFMPEG_DIR}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
PATH_SUFFIXES ffmpeg
DOC "Location of FFMPEG Headers"
)
FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES
NAMES ${shortname}
PATHS
${FFMPEG_ROOT}/lib
$ENV{FFMPEG_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
DOC "Location of FFMPEG Libraries"
)
IF (FFMPEG_${varname}_LIBRARIES AND FFMPEG_${varname}_INCLUDE_DIRS)
SET(FFMPEG_${varname}_FOUND 1)
ENDIF(FFMPEG_${varname}_LIBRARIES AND FFMPEG_${varname}_INCLUDE_DIRS)
ENDMACRO(FFMPEG_FIND)
SET(FFMPEG_ROOT "$ENV{FFMPEG_DIR}" CACHE PATH "Location of FFMPEG")
# find stdint.h
IF(WIN32)
FIND_PATH(FFMPEG_STDINT_INCLUDE_DIR stdint.h
PATHS
${FFMPEG_ROOT}/include
$ENV{FFMPEG_DIR}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
PATH_SUFFIXES ffmpeg
DOC "Location of FFMPEG stdint.h Header"
)
IF (FFMPEG_STDINT_INCLUDE_DIR)
SET(STDINT_OK TRUE)
ENDIF()
ELSE()
SET(STDINT_OK TRUE)
ENDIF()
FFMPEG_FIND(LIBAVFORMAT avformat avformat.h)
FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h)
FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h)
FFMPEG_FIND(LIBAVUTIL avutil avutil.h)
FFMPEG_FIND(LIBSWSCALE swscale swscale.h) # not sure about the header to look for here.
SET(FFMPEG_FOUND "NO")
# Note we don't check FFMPEG_LIBSWSCALE_FOUND here, it's optional.
IF (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND STDINT_OK)
SET(FFMPEG_FOUND "YES")
SET(FFMPEG_INCLUDE_DIRS
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat
${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS} ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/libavdevice
${FFMPEG_LIBAVCODEC_INCLUDE_DIRS} ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}/libavcodec
${FFMPEG_LIBAVUTIL_INCLUDE_DIRS} ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/libavutil
)
IF (FFMPEG_STDINT_INCLUDE_DIR)
SET(FFMPEG_INCLUDE_DIRS
${FFMPEG_INCLUDE_DIRS}
${FFMPEG_STDINT_INCLUDE_DIR}
${FFMPEG_STDINT_INCLUDE_DIR}/libavformat
${FFMPEG_STDINT_INCLUDE_DIR}/libavdevice
${FFMPEG_STDINT_INCLUDE_DIR}/libavcodec
${FFMPEG_STDINT_INCLUDE_DIR}/libavutil
)
ENDIF()
SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS})
# Note we don't add FFMPEG_LIBSWSCALE_LIBRARIES here, it will be added if found later.
SET(FFMPEG_LIBRARIES
${FFMPEG_LIBAVFORMAT_LIBRARIES}
${FFMPEG_LIBAVDEVICE_LIBRARIES}
${FFMPEG_LIBAVCODEC_LIBRARIES}
${FFMPEG_LIBAVUTIL_LIBRARIES})
ELSE ()
# MESSAGE(STATUS "Could not find FFMPEG")
ENDIF()

View File

@@ -1,4 +1,4 @@
# Locate FLTK
# Locate gdal
# This module defines
# FLTK_LIBRARY
# FLTK_FOUND, if false, do not try to link to gdal
@@ -12,6 +12,9 @@
FIND_PATH(FLTK_INCLUDE_DIR Fl/Fl.H Fl/Fl.h
$ENV{FLTK_DIR}/include
$ENV{FLTK_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@@ -20,6 +23,7 @@ FIND_PATH(FLTK_INCLUDE_DIR Fl/Fl.H Fl/Fl.h
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
@@ -30,6 +34,9 @@ MACRO(FIND_FLTK_LIBRARY MYLIBRARY MYLIBRARYNAME)
PATHS
$ENV{FLTK_DIR}/lib
$ENV{FLTK_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -38,6 +45,7 @@ MACRO(FIND_FLTK_LIBRARY MYLIBRARY MYLIBRARYNAME)
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)

View File

@@ -12,6 +12,9 @@
FIND_PATH(FOX_INCLUDE_DIR fx.h
$ENV{FOX_DIR}/include/fox-1.6
$ENV{FOX_DIR}/fox-1.6
$ENV{OSGDIR}/include/fox-1.6
$ENV{OSGDIR}/fox-1.6
$ENV{OSG_ROOT}/include/fox-1.6
~/Library/Frameworks/fox-1.6
/Library/Frameworks/fox-1.6
/usr/local/include/fox-1.6
@@ -20,9 +23,13 @@ FIND_PATH(FOX_INCLUDE_DIR fx.h
/opt/local/include/fox-1.6 # DarwinPorts
/opt/csw/include/fox-1.6 # Blastwave
/opt/include/fox-1.6
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include/fox-1.6
/usr/freeware/include/fox-1.6
$ENV{FOX_DIR}/include
$ENV{FOX_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@@ -31,6 +38,7 @@ FIND_PATH(FOX_INCLUDE_DIR fx.h
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
@@ -41,6 +49,9 @@ MACRO(FIND_FOX_LIBRARY MYLIBRARY MYLIBRARYNAME)
PATHS
$ENV{FOX_DIR}/lib
$ENV{FOX_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -49,6 +60,7 @@ MACRO(FIND_FOX_LIBRARY MYLIBRARY MYLIBRARYNAME)
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)

View File

@@ -25,93 +25,55 @@
# I'm going to attempt to cut out the middleman and hope
# everything still works.
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
PATHS
$ENV{FREETYPE_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
PATHS
/usr/local
/usr
/usr/local/X11R6
/usr/local/X11
/usr/X11R6
/usr/X11
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
PATH_SUFFIXES include
$ENV{FREETYPE_DIR}
/usr/local/include
/usr/include
/usr/local/X11R6
/usr/X11R6/include
/sw/include
/opt/local/include
/opt/csw/include
/opt/include
/usr/freeware/include/freetype2
)
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
$ENV{FREETYPE_DIR}/include/freetype2
NO_DEFAULT_PATH
)
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include/freetype2
)
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
/usr/local/include/freetype2
/usr/include/freetype2
/usr/local/X11R6/include/freetype2
/usr/local/X11/include/freetype2
/usr/X11R6/include/freetype2
/usr/X11/include/freetype2
/sw/include/freetype2
/opt/local/include/freetype2
/opt/csw/include/freetype2
/opt/include/freetype2
/usr/freeware/include/freetype2
$ENV{FREETYPE_DIR}/include/freetype2
/usr/local/include/freetype2
/usr/include/freetype2
/usr/local/X11R6/include/freetype2
/usr/X11R6/include/freetype2
/sw/include/freetype2
/opt/local/include/freetype2
/opt/csw/include/freetype2
/opt/include/freetype2
/usr/freeware/include/freetype2
)
FIND_LIBRARY(FREETYPE_LIBRARY
NAMES freetype libfreetype freetype219
PATHS
$ENV{FREETYPE_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(FREETYPE_LIBRARY
NAMES freetype libfreetype freetype219
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(FREETYPE_LIBRARY
NAMES freetype libfreetype freetype219
PATHS
/usr/local
/usr
/usr/local/X11R6
/usr/local/X11
/usr/X11R6
/usr/X11
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
PATH_SUFFIXES lib64 lib
NAMES freetype libfreetype freetype219
PATHS
$ENV{FREETYPE_DIR}/lib
$ENV{FREETYPE_DIR}/lib
/usr/local/lib
/usr/lib
/usr/local/X11R6/lib
/usr/X11R6/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
ENDIF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
SET(FREETYPE_FOUND "NO")
IF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
SET(FREETYPE_FOUND "YES")
SET(FREETYPE_FOUND "YES")
ENDIF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)

View File

@@ -4,91 +4,55 @@
# GDAL_FOUND, if false, do not try to link to gdal
# GDAL_INCLUDE_DIR, where to find the headers
#
# $GDALDIR is an environment variable that would
# $GDAL_DIR is an environment variable that would
# correspond to the ./configure --prefix=$GDAL_DIR
# used in building gdal.
#
# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
# for osgTerrain so I whipped this module together for completeness.
# I actually don't know the conventions or where files are typically
# placed in distros.
# Any real gdal users are encouraged to correct this (but please don't
# break the OS X framework stuff when doing so which is what usually seems
# to happen).
# This makes the presumption that you are include gdal.h like
# #include "gdal.h"
# Created by Robert Osfield.
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
PATHS
$ENV{GDAL_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
PATHS
~/Library/Frameworks/gdal.framework/Headers
/Library/Frameworks/gdal.framework/Headers
/usr/local/include/gdal
/usr/local/include/GDAL
/usr/local/include
/usr/include/gdal
/usr/include/GDAL
/usr/include
/sw/include/gdal
/sw/include/GDAL
/sw/include # Fink
/opt/local/include/gdal
/opt/local/include/GDAL
/opt/local/include # DarwinPorts
/opt/csw/include/gdal
/opt/csw/include/GDAL
/opt/csw/include # Blastwave
/opt/include/gdal
/opt/include/GDAL
/opt/include
)
FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.7.0 gdal1.6.0 gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
PATHS
$ENV{GDAL_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.7.0 gdal1.6.0 gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.7.0 gdal1.6.0 gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
PATHS
${GDAL_DIR}/include
$ENV{GDAL_DIR}/include
$ENV{GDAL_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local
/usr
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;GDAL_ROOT]/lib
PATH_SUFFIXES lib64 lib
/usr/local/include
/usr/include
/usr/include/gdal
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.4.0 gdal1.3.2
PATHS
${GDAL_DIR}/lib
$ENV{GDAL_DIR}/lib
$ENV{GDAL_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
SET(GDAL_FOUND "NO")
IF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)
SET(GDAL_FOUND "YES")
SET(GDAL_FOUND "YES")
ENDIF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)

View File

@@ -1,72 +1,56 @@
# Locate gdal
# This module defines
# GIFLIB_LIBRARY
# GIFLIB_FOUND, if false, do not try to link
# GIFLIB_FOUND, if false, do not try to link to gdal
# GIFLIB_INCLUDE_DIR, where to find the headers
#
# $GIFLIB_DIR is an environment variable that would
# correspond to the ./configure --prefix=$GIFLIB_DIR
# used in building gdal.
#
# Created by Eric Wing.
FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
PATHS
$ENV{GIFLIB_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
$ENV{GIFLIB_DIR}/include
$ENV{GIFLIB_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
FIND_LIBRARY(GIFLIB_LIBRARY
NAMES gif ungif libgif libungif
PATHS
$ENV{GIFLIB_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GIFLIB_LIBRARY
NAMES gif ungif libgif libungif
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GIFLIB_LIBRARY
NAMES gif ungif libgif libungif
PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local
/usr
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
PATH_SUFFIXES lib64 lib
NAMES gif ungif libgif libungif
PATHS
$ENV{GIFLIB_DIR}/lib
$ENV{GIFLIB_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
SET(GIFLIB_FOUND "NO")
IF(GIFLIB_LIBRARY AND GIFLIB_INCLUDE_DIR)
SET(GIFLIB_FOUND "YES")
SET(GIFLIB_FOUND "YES")
ENDIF(GIFLIB_LIBRARY AND GIFLIB_INCLUDE_DIR)

View File

@@ -1,16 +0,0 @@
#use pkg-config to find various modues
INCLUDE(FindPkgConfig OPTIONAL)
IF(PKG_CONFIG_FOUND)
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(GTK gtk+-2.0)
IF(WIN32)
PKG_CHECK_MODULES(GTKGL gtkglext-win32-1.0)
ELSE()
PKG_CHECK_MODULES(GTKGL gtkglext-x11-1.0)
ENDIF()
ENDIF()

View File

@@ -1,41 +1,10 @@
#
# Find Open Inventor
#
# - Locate Inventor
# This module defines:
# INVENTOR_FOUND, if false, do not try to link against Inventor.
# INVENTOR_INCLUDE_DIR, where to find headers.
# INVENTOR_LIBRARY, the library to link against.
# INVENTOR_LIBRARY_DEBUG, the debug library to link against.
# INVENTOR_SOWIN_LIBRARY, the SoWin library - window binding library for Inventor
# INVENTOR_SOWIN_LIBRARY, the SoWin debug library
# INVENTOR_SOXT_LIBRARY, the SoXt library - window binding library for Inventor
# INVENTOR_SOXT_LIBRARY, the SoXt debug library
#
#
# Inventor
#
# notes:
# - Coin is honored over SGI Inventor
# - Coin is detected by coin-config script, COINDIR environment variable,
# and finally standard system locations are searched
# - SGI Inventor is searched at standard system locations only
#
# coin-config tells much of Coin instalation (if present)
execute_process (COMMAND coin-config --prefix
OUTPUT_VARIABLE COIN_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
# try to find Inventor includes (priority paths)
FIND_PATH(INVENTOR_INCLUDE_DIR Inventor/So.h
${COIN_PREFIX}/include
$ENV{COINDIR}/include
NO_DEFAULT_PATH
)
# try to find Inventor includes (regular paths)
FIND_PATH(INVENTOR_INCLUDE_DIR Inventor/So.h
/usr/local/include
/usr/include
@@ -43,164 +12,52 @@ FIND_PATH(INVENTOR_INCLUDE_DIR Inventor/So.h
/opt/local/include
/opt/csw/include
/opt/include
$ENV{COINDIR}/include
)
# default Inventor lib search paths
SET(INVENTOR_LIB_SEARCH_PATH
FIND_LIBRARY(INVENTOR_LIBRARY
NAMES coin2 Coin
PATHS
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
$ENV{COINDIR}/lib
)
IF(NOT INVENTOR_LIBRARY)
# If we can't find libCoin try libInventor
FIND_LIBRARY(INVENTOR_LIBRARY
NAMES Inventor
PATHS
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
)
ENDIF(NOT INVENTOR_LIBRARY)
# try to find Coin release lib (priority paths)
FIND_LIBRARY(INVENTOR_LIBRARY_RELEASE
NAMES coin5 coin4 coin3 coin2 coin1 Coin
PATHS ${COIN_PREFIX}/lib
$ENV{COINDIR}/lib
NO_DEFAULT_PATH
)
# try to find Coin release lib (regular paths)
FIND_LIBRARY(INVENTOR_LIBRARY_RELEASE
NAMES coin5 coin4 coin3 coin2 coin1 Coin
PATHS ${INVENTOR_LIB_SEARCH_PATH}
)
# try to find SGI Inventor lib
FIND_LIBRARY(INVENTOR_LIBRARY_RELEASE
NAMES Inventor
PATHS ${INVENTOR_LIB_SEARCH_PATH}
)
# try to find Coin debug lib (priority paths)
FIND_LIBRARY(INVENTOR_LIBRARY_DEBUG
NAMES coin5d coin4d coin3d coin2d coin1d
PATHS ${COIN_PREFIX}/lib
$ENV{COINDIR}/lib
NO_DEFAULT_PATH
NAMES coin2d
PATHS
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
$ENV{COINDIR}/lib
)
IF(NOT INVENTOR_LIBRARY_DEBUG)
IF(INVENTOR_LIBRARY)
SET(INVENTOR_LIBRARY_DEBUG INVENTOR_LIBRARY)
ENDIF(INVENTOR_LIBRARY)
ENDIF(NOT INVENTOR_LIBRARY_DEBUG)
# try to find Coin debug lib (regular paths)
FIND_LIBRARY(INVENTOR_LIBRARY_DEBUG
NAMES coin5d coin4d coin3d coin2d coin1d
PATHS ${INVENTOR_LIB_SEARCH_PATH}
)
# set release to debug if only debug found
IF(NOT INVENTOR_LIBRARY_RELEASE AND INVENTOR_LIBRARY_DEBUG)
SET(INVENTOR_LIBRARY_RELEASE ${INVENTOR_LIBRARY_DEBUG})
ENDIF(NOT INVENTOR_LIBRARY_RELEASE AND INVENTOR_LIBRARY_DEBUG)
# set debug to release (if only release found)
IF(NOT INVENTOR_LIBRARY_DEBUG AND INVENTOR_LIBRARY_RELEASE)
SET(INVENTOR_LIBRARY_DEBUG ${INVENTOR_LIBRARY_RELEASE})
ENDIF(NOT INVENTOR_LIBRARY_DEBUG AND INVENTOR_LIBRARY_RELEASE)
# INVENTOR_LIBRARY
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(INVENTOR_LIBRARY
optimized ${INVENTOR_LIBRARY_RELEASE}
debug ${INVENTOR_LIBRARY_DEBUG})
ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(INVENTOR_LIBRARY
${INVENTOR_LIBRARY_RELEASE})
ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
# set INVENTOR_FOUND appropriately
SET(INVENTOR_FOUND "NO")
IF(INVENTOR_INCLUDE_DIR AND INVENTOR_LIBRARY)
SET(INVENTOR_FOUND "YES")
ENDIF(INVENTOR_INCLUDE_DIR AND INVENTOR_LIBRARY)
#
# SoWin
#
# notes: SoWin is searched by COINDIR environment variable
# (as expected to be located at Windows platform)
# try to find SoWin lib (priority paths)
FIND_LIBRARY(INVENTOR_SOWIN_LIBRARY
NAMES sowin1
PATHS $ENV{COINDIR}/lib
NO_DEFAULT_PATH
)
# try to find SoWin lib (regular paths)
FIND_LIBRARY(INVENTOR_SOWIN_LIBRARY
NAMES sowin1
PATHS ${INVENTOR_LIB_SEARCH_PATH}
)
# try to find SoWin debug lib (priority paths)
FIND_LIBRARY(INVENTOR_SOWIN_LIBRARY_DEBUG
NAMES sowin1d
PATHS $ENV{COINDIR}/lib
NO_DEFAULT_PATH
)
# try to find SoWin debug lib (regular paths)
FIND_LIBRARY(INVENTOR_SOWIN_LIBRARY_DEBUG
NAMES sowin1d
PATHS ${INVENTOR_LIB_SEARCH_PATH}
)
# SoWin debug library defaults to non-debug lib
IF(NOT INVENTOR_SOWIN_LIBRARY_DEBUG)
IF(INVENTOR_SOWIN_LIBRARY)
SET(INVENTOR_SOWIN_LIBRARY_DEBUG INVENTOR_SOWIN_LIBRARY)
ENDIF(INVENTOR_SOWIN_LIBRARY)
ENDIF(NOT INVENTOR_SOWIN_LIBRARY_DEBUG)
#
# SoXt
#
# notes:
# - SoXt is detected by soxt-config script (as expected by
# Coin's SoXt on Linux/Unix) and on standard system locations
# - SGI's InventorXt support is missing now
#
# soxt-config tells much of SoXt instalation (if present)
execute_process (COMMAND soxt-config --prefix
OUTPUT_VARIABLE SOXT_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
# try to find SoXt lib (priority paths)
FIND_LIBRARY(INVENTOR_SOXT_LIBRARY
NAMES soxt1 SoXt
PATHS ${SOXT_PREFIX}/lib
$ENV{COINDIR}/lib
NO_DEFAULT_PATH
)
# try to find SoXt lib (regular paths)
FIND_LIBRARY(INVENTOR_SOXT_LIBRARY
NAMES soxt1 SoXt
PATHS ${INVENTOR_LIB_SEARCH_PATH}
)
# try to find SoXt debug lib (priority paths)
FIND_LIBRARY(INVENTOR_SOXT_LIBRARY_DEBUG
NAMES soxt1d
PATHS ${SOXT_PREFIX}/lib
$ENV{COINDIR}/lib
NO_DEFAULT_PATH
)
# try to find SoXt debug lib (regular paths)
FIND_LIBRARY(INVENTOR_SOXT_LIBRARY_DEBUG
NAMES soxt1d
PATHS ${INVENTOR_LIB_SEARCH_PATH}
)
# SoXt debug library defaults to non-debug lib
IF(NOT INVENTOR_SOXT_LIBRARY_DEBUG)
IF(INVENTOR_SOXT_LIBRARY)
SET(INVENTOR_SOXT_LIBRARY_DEBUG INVENTOR_SOXT_LIBRARY)
ENDIF(INVENTOR_SOXT_LIBRARY)
ENDIF(NOT INVENTOR_SOXT_LIBRARY_DEBUG)

View File

@@ -11,8 +11,10 @@
FIND_PATH(JASPER_INCLUDE_DIR jasper/jasper.h
$ENV{JASPER_DIR}/include
$ENV{JASPER_DIR}/src/libjasper/include
$ENV{JASPER_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@@ -21,34 +23,18 @@ FIND_PATH(JASPER_INCLUDE_DIR jasper/jasper.h
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
FIND_LIBRARY(JASPER_LIBRARY
NAMES jasper libjasper
NAMES jasper
PATHS
$ENV{JASPER_DIR}/lib
$ENV{JASPER_DIR}/src/libjasper/lib
$ENV{JASPER_DIR}/src/msvc/Win32_Release
$ENV{JASPER_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(JASPER_LIBRARY_DEBUG
NAMES jasper libjasper jasperd libjasperd
PATHS
$ENV{JASPER_DIR}/lib
$ENV{JASPER_DIR}/src/libjasper/lib
$ENV{JASPER_DIR}/src/msvc/Win32_Debug
$ENV{JASPER_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -57,6 +43,7 @@ FIND_LIBRARY(JASPER_LIBRARY_DEBUG
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
@@ -65,3 +52,4 @@ IF(JASPER_LIBRARY AND JASPER_INCLUDE_DIR)
SET(JASPER_FOUND "YES")
ENDIF(JASPER_LIBRARY AND JASPER_INCLUDE_DIR)

View File

@@ -1,62 +0,0 @@
# Locate libvncserver
# This module defines
# LIBVNCSERVER_LIBRARY
# LIBVNCSERVER_FOUND, if false, do not try to link to libvncserver
# LIBVNCSERVER_INCLUDE_DIR, where to find the headers
#
# $LIBVNCSERVER_DIR is an environment variable that would
# correspond to the ./configure --prefix=$LIBVNCSERVER_DIR
# used in building libvncserver.
FIND_PATH(LIBVNCSERVER_INCLUDE_DIR rfb/rfb.h
$ENV{LIBVNCSERVER_DIR}/include
$ENV{LIBVNCSERVER_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
)
FIND_LIBRARY(LIBVNCCLIENT_LIBRARY
NAMES vncclient
PATHS
$ENV{LIBVNCSERVER_DIR}/lib
$ENV{LIBVNCSERVER_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(LIBVNCSERVER_LIBRARY
NAMES vncserver
PATHS
$ENV{LIBVNCSERVER_DIR}/lib
$ENV{LIBVNCSERVER_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
SET(LIBVNCSERVER_FOUND "NO")
IF(LIBVNCSERVER_LIBRARY AND LIBVNCSERVER_INCLUDE_DIR)
SET(LIBVNCSERVER_FOUND "YES")
ENDIF(LIBVNCSERVER_LIBRARY AND LIBVNCSERVER_INCLUDE_DIR)

View File

@@ -1,61 +0,0 @@
# Locate nvidia-texture-tools
# This module defines
# NVTT_LIBRARY
# NVTT_FOUND, if false, do not try to link to nvtt
# NVTT_INCLUDE_DIR, where to find the headers
#
FIND_PATH(NVTT_INCLUDE_DIR nvtt/nvtt.h
PATHS
/usr/local
/usr
$ENV{NVTT_DIR}
${3rdPartyRoot}
PATH_SUFFIXES include
)
FIND_LIBRARY(NVTT_LIBRARY
NAMES nvtt
PATHS
/usr/local
/usr
$ENV{NVTT_DIR}
${3rdPartyRoot}
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
)
FIND_LIBRARY(NVIMAGE_LIBRARY
NAMES nvimage
PATHS
/usr/local
/usr
$ENV{NVTT_DIR}
${3rdPartyRoot}
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
)
FIND_LIBRARY(NVMATH_LIBRARY
NAMES nvmath
PATHS
/usr/local
/usr
$ENV{NVTT_DIR}
${3rdPartyRoot}
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
)
FIND_LIBRARY(NVCORE_LIBRARY
NAMES nvcore
PATHS
/usr/local
/usr
$ENV{NVTT_DIR}
${3rdPartyRoot}
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
)
SET(NVTT_FOUND "NO")
IF(NVTT_LIBRARY AND NVTT_INCLUDE_DIR)
SET(NVTT_FOUND "YES")
ENDIF(NVTT_LIBRARY AND NVTT_INCLUDE_DIR)

View File

@@ -10,48 +10,37 @@
# Created by Robert Osfield.
FIND_PATH(OSG_INCLUDE_DIR osg/Node
${OSG_DIR}/include
$ENV{OSG_DIR}/include
$ENV{OSG_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
NO_DEFAULT_PATH
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
FIND_PATH(OSG_INCLUDE_DIR osg/Node)
MACRO(FIND_OSG_LIBRARY MYLIBRARY MYLIBRARYNAME)
FIND_LIBRARY("${MYLIBRARY}_DEBUG"
NAMES "${MYLIBRARYNAME}${CMAKE_DEBUG_POSTFIX}"
FIND_LIBRARY(${MYLIBRARY}
NAMES ${MYLIBRARYNAME}
PATHS
${OSG_DIR}/lib/Debug
${OSG_DIR}/lib64/Debug
${OSG_DIR}/lib
${OSG_DIR}/lib64
$ENV{OSG_DIR}/lib/debug
$ENV{OSG_DIR}/lib64/debug
$ENV{OSG_DIR}/lib
$ENV{OSG_DIR}/lib64
$ENV{OSG_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}/lib64
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
$ENV{OSG_ROOT}/lib64
NO_DEFAULT_PATH
)
FIND_LIBRARY("${MYLIBRARY}_DEBUG"
NAMES "${MYLIBRARYNAME}${CMAKE_DEBUG_POSTFIX}"
PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
/sw/lib
/opt/local/lib
/opt/csw/lib
@@ -59,63 +48,16 @@ MACRO(FIND_OSG_LIBRARY MYLIBRARY MYLIBRARYNAME)
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
FIND_LIBRARY(${MYLIBRARY}
NAMES "${MYLIBRARYNAME}${CMAKE_RELEASE_POSTFIX}"
PATHS
${OSG_DIR}/lib/Release
${OSG_DIR}/lib64/Release
${OSG_DIR}/lib
${OSG_DIR}/lib64
$ENV{OSG_DIR}/lib/Release
$ENV{OSG_DIR}/lib64/Release
$ENV{OSG_DIR}/lib
$ENV{OSG_DIR}/lib64
$ENV{OSG_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}/lib64
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
$ENV{OSG_ROOT}/lib64
NO_DEFAULT_PATH
)
FIND_LIBRARY(${MYLIBRARY}
NAMES "${MYLIBRARYNAME}${CMAKE_RELEASE_POSTFIX}"
PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
IF( NOT ${MYLIBRARY}_DEBUG)
IF(MYLIBRARY)
SET(${MYLIBRARY}_DEBUG ${MYLIBRARY})
ENDIF(MYLIBRARY)
ENDIF( NOT ${MYLIBRARY}_DEBUG)
ENDMACRO(FIND_OSG_LIBRARY LIBRARY LIBRARYNAME)
FIND_OSG_LIBRARY(OSG_LIBRARY osg)
FIND_OSG_LIBRARY(OSGGA_LIBRARY osgGA)
FIND_OSG_LIBRARY(OSGUTIL_LIBRARY osgUtil)
FIND_OSG_LIBRARY(OSGDB_LIBRARY osgDB)
FIND_OSG_LIBRARY(OSGTEXT_LIBRARY osgText)
FIND_OSG_LIBRARY(OSGWIDGET_LIBRARY osgWidget)
FIND_OSG_LIBRARY(OSGTERRAIN_LIBRARY osgTerrain)
FIND_OSG_LIBRARY(OSGFX_LIBRARY osgFX)
FIND_OSG_LIBRARY(OSGVIEWER_LIBRARY osgViewer)
FIND_OSG_LIBRARY(OSGVOLUME_LIBRARY osgVolume)
FIND_OSG_LIBRARY(OPENTHREADS_LIBRARY OpenThreads)
SET(OSG_FOUND "NO")
IF(OSG_LIBRARY AND OSG_INCLUDE_DIR)

View File

@@ -1,100 +0,0 @@
# Locate OpenEXR
# This module defines
# OPENEXR_LIBRARY
# OPENEXR_FOUND, if false, do not try to link to OpenEXR
# OPENEXR_INCLUDE_DIR, where to find the headers
#
# $OPENEXR_DIR is an environment variable that would
# correspond to the ./configure --prefix=$OPENEXR_DIR
#
# Created by Robert Osfield.
FIND_PATH(OPENEXR_INCLUDE_DIR OpenEXR/ImfIO.h
$ENV{OPENEXR_DIR}/include
$ENV{OPENEXR_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
)
FIND_LIBRARY(OPENEXR_IlmIlf_LIBRARY
NAMES IlmImf
PATHS
$ENV{OPENEXR_DIR}/lib
$ENV{OPENEXR_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(OPENEXR_IlmThread_LIBRARY
NAMES IlmThread
PATHS
$ENV{OPENEXR_DIR}/lib
$ENV{OPENEXR_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(OPENEXR_Iex_LIBRARY
NAMES Iex
PATHS
$ENV{OPENEXR_DIR}/lib
$ENV{OPENEXR_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(OPENEXR_Half_LIBRARY
NAMES Half
PATHS
$ENV{OPENEXR_DIR}/lib
$ENV{OPENEXR_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
SET(OPENEXR_FOUND "NO")
IF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmIlf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY)
SET(OPENEXR_LIBRARIES
${OPENEXR_IlmIlf_LIBRARY}
${OPENEXR_IlmThread_LIBRARY}
${OPENEXR_Half_LIBRARY}
${OPENEXR_Iex_LIBRARY}
)
SET(OPENEXR_FOUND "YES")
ENDIF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmIlf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY)

View File

@@ -43,36 +43,36 @@
# may change.
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
PATHS
$ENV{OPENTHREADS_INCLUDE_DIR}
$ENV{OPENTHREADS_DIR}/include
$ENV{OPENTHREADS_DIR}
$ENV{OSG_INCLUDE_DIR}
$ENV{OSG_DIR}/include
$ENV{OSG_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
NO_DEFAULT_PATH
)
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
IF(NOT OPENTHREADS_INCLUDE_DIR)
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
PATH_SUFFIXES include
)
ENDIF(NOT OPENTHREADS_INCLUDE_DIR)
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
)
IF(NOT OPENTHREADS_INCLUDE_DIR)
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
)
ENDIF(NOT OPENTHREADS_INCLUDE_DIR)
FIND_LIBRARY(OPENTHREADS_LIBRARY
@@ -86,39 +86,39 @@ FIND_LIBRARY(OPENTHREADS_LIBRARY
$ENV{OSG_DIR}/lib64
$ENV{OSG_DIR}/lib
$ENV{OSG_DIR}
$ENV{OSGDIR}/lib64
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
NO_DEFAULT_PATH
)
FIND_LIBRARY(OPENTHREADS_LIBRARY
NAMES OpenThreads OpenThreadsWin32
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
IF(NOT OPENTHREADS_LIBRARY)
FIND_LIBRARY(OPENTHREADS_LIBRARY
NAMES OpenThreads OpenThreadsWin32
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
PATH_SUFFIXES lib64 lib
)
ENDIF(NOT OPENTHREADS_LIBRARY)
FIND_LIBRARY(OPENTHREADS_LIBRARY
NAMES OpenThreads OpenThreadsWin32
PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib64
/usr/local/lib
/usr/lib64
/usr/lib
/sw/lib64
/sw/lib
/opt/local/lib64
/opt/local/lib
/opt/csw/lib64
/opt/csw/lib
/opt/lib64
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
)
IF(NOT OPENTHREADS_LIBRARY)
FIND_LIBRARY(OPENTHREADS_LIBRARY
NAMES OpenThreads OpenThreadsWin32
PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib64
/usr/local/lib
/usr/lib64
/usr/lib
/sw/lib64
/sw/lib
/opt/local/lib64
/opt/local/lib
/opt/csw/lib64
/opt/csw/lib
/opt/lib64
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
)
ENDIF(NOT OPENTHREADS_LIBRARY)
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
@@ -133,37 +133,40 @@ FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
$ENV{OSG_DIR}/lib64
$ENV{OSG_DIR}/lib
$ENV{OSG_DIR}
$ENV{OSGDIR}/lib64
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
${CMAKE_PREFIX_PATH}/lib64
${CMAKE_PREFIX_PATH}/lib
${CMAKE_PREFIX_PATH}
NO_DEFAULT_PATH
)
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
NAMES OpenThreadsd OpenThreadsWin32d
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
IF(NOT OPENTHREADS_LIBRARY_DEBUG)
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
NAMES OpenThreadsd OpenThreadsWin32d
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
PATH_SUFFIXES lib64 lib
)
ENDIF(NOT OPENTHREADS_LIBRARY_DEBUG)
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
NAMES OpenThreadsd OpenThreadsWin32d
PATHS
/usr/local/lib64
/usr/local/lib
/usr/lib64
/usr/lib
/sw/lib64
/sw/lib
/opt/local/lib64
/opt/local/lib
/opt/csw/lib64
/opt/csw/lib
/opt/lib64
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
)
IF(NOT OPENTHREADS_LIBRARY_DEBUG)
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
NAMES OpenThreadsd OpenThreadsWin32d
PATHS
/usr/local/lib64
/usr/local/lib
/usr/lib64
/usr/lib
/sw/lib64
/sw/lib
/opt/local/lib64
/opt/local/lib
/opt/csw/lib64
/opt/csw/lib
/opt/lib64
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
)
ENDIF(NOT OPENTHREADS_LIBRARY_DEBUG)
IF(OPENTHREADS_LIBRARY)

View File

@@ -10,9 +10,12 @@
# Created by Robert Osfield.
# Modified for the debug library by Jean-S<>bastien Guay.
FIND_PATH(OPENVRML_INCLUDE_DIR openvrml/openvrml-common.h
FIND_PATH(OPENVRML_INCLUDE_DIR openvrml/openvrml/common.h
$ENV{OPENVRML_DIR}/include
$ENV{OPENVRML_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@@ -21,6 +24,7 @@ FIND_PATH(OPENVRML_INCLUDE_DIR openvrml/openvrml-common.h
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
@@ -29,6 +33,9 @@ FIND_LIBRARY(OPENVRML_LIBRARY
PATHS
$ENV{OPENVRML_DIR}/lib
$ENV{OPENVRML_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -37,6 +44,7 @@ FIND_LIBRARY(OPENVRML_LIBRARY
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
@@ -45,6 +53,9 @@ FIND_LIBRARY(OPENVRML_LIBRARY_DEBUG
PATHS
$ENV{OPENVRML_DIR}/lib
$ENV{OPENVRML_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -53,6 +64,7 @@ FIND_LIBRARY(OPENVRML_LIBRARY_DEBUG
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)

View File

@@ -1,270 +0,0 @@
# - find DCMTK libraries
#
# DCMTK_INCLUDE_DIRS - Directories to include to use DCMTK
# DCMTK_LIBRARIES - Files to link against to use DCMTK
# DCMTK_FOUND - If false, don't try to use DCMTK
# DCMTK_DIR - (optional) Source directory for DCMTK
#
# DCMTK_DIR can be used to make it simpler to find the various include
# directories and compiled libraries if you've just compiled it in the
# source tree. Just set it to the root of the tree where you extracted
# the source.
#
# Written for VXL by Amitha Perera.
# Modified by Robert Osfied to enable support for install placements of DCMTK 3.5.4 versions onwards
FIND_PATH( DCMTK_ROOT_INCLUDE_DIR dcmtk/config/osconfig.h
${DCMTK_DIR}/config/include
${DCMTK_DIR}/include
/usr/local/dicom/include
/usr/local/include/
/usr/include/
/usr/local/dicom/include/
)
FIND_PATH( DCMTK_config_INCLUDE_DIR osconfig.h
${DCMTK_ROOT_INCLUDE_DIR}/dcmtk/config
${DCMTK_DIR}/config/include
${DCMTK_DIR}/include
/usr/local/dicom/include
/usr/local/include/dcmtk/config
/usr/include/dcmtk/config
/usr/local/dicom/include/dcmtk/config
)
FIND_PATH( DCMTK_ofstd_INCLUDE_DIR ofstdinc.h
${DCMTK_ROOT_INCLUDE_DIR}/dcmtk/ofstd
${DCMTK_DIR}/ofstd/include
${DCMTK_DIR}/include/ofstd
/usr/local/dicom/include/dcmtk/ofstd
/usr/local/include/dcmtk/ofstd
/usr/include/dcmtk/ofstd
/usr/local/dicom/include/dcmtk/ofstd
)
FIND_LIBRARY( DCMTK_ofstd_LIBRARY ofstd
PATHS
${DCMTK_DIR}/ofstd/libsrc
${DCMTK_DIR}/ofstd/libsrc/Release
${DCMTK_DIR}/ofstd/libsrc/Debug
${DCMTK_DIR}/ofstd/Release
${DCMTK_DIR}/ofstd/Debug
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
FIND_PATH( DCMTK_dcmdata_INCLUDE_DIR dctypes.h
${DCMTK_ROOT_INCLUDE_DIR}/dcmtk/dcmdata
${DCMTK_DIR}/dcmdata/include
${DCMTK_DIR}/include/dcmdata
/usr/local/dicom/include/dcmtk/dcmdata
/usr/local/include/dcmtk/dcmdata
/usr/include/dcmtk/dcmdata
/usr/local/dicom/include/dcmtk/dcmdata
)
FIND_LIBRARY( DCMTK_dcmdata_LIBRARY dcmdata
PATHS
${DCMTK_DIR}/dcmdata/libsrc
${DCMTK_DIR}/dcmdata/libsrc/Release
${DCMTK_DIR}/dcmdata/libsrc/Debug
${DCMTK_DIR}/dcmdata/Release
${DCMTK_DIR}/dcmdata/Debug
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
FIND_PATH( DCMTK_dcmimgle_INCLUDE_DIR dcmimage.h
${DCMTK_ROOT_INCLUDE_DIR}/dcmtk/dcmimgle
${DCMTK_DIR}/dcmimgle/include
${DCMTK_DIR}/include/dcmimgle
/usr/local/dicom/include/dcmtk/dcmimgle
/usr/local/include/dcmtk/dcmimgle
/usr/include/dcmtk/dcmimgle
/usr/local/dicom/include/dcmtk/dcmimgle
)
FIND_LIBRARY( DCMTK_dcmimgle_LIBRARY dcmimgle
PATHS
${DCMTK_DIR}/dcmimgle/libsrc
${DCMTK_DIR}/dcmimgle/libsrc/Release
${DCMTK_DIR}/dcmimgle/libsrc/Debug
${DCMTK_DIR}/dcmimgle/Release
${DCMTK_DIR}/dcmimgle/Debug
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
FIND_PATH( DCMTK_dcmimage_INCLUDE_DIR diregist.h
${DCMTK_ROOT_INCLUDE_DIR}/dcmtk/dcmimage
${DCMTK_DIR}/dcmimage/include
${DCMTK_DIR}/include/dcmimage
/usr/local/dicom/include/dcmtk/dcmimage
/usr/local/include/dcmtk/dcmimage
/usr/include/dcmtk/dcmimage
/usr/local/dicom/include/dcmtk/dcmimage
)
FIND_LIBRARY( DCMTK_dcmimage_LIBRARY dcmimage
PATHS
${DCMTK_DIR}/dcmimage/libsrc
${DCMTK_DIR}/dcmimage/libsrc/Release
${DCMTK_DIR}/dcmimage/libsrc/Debug
${DCMTK_DIR}/dcmimage/Release
${DCMTK_DIR}/dcmimage/Debug
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
FIND_LIBRARY(DCMTK_imagedb_LIBRARY imagedb
PATHS
${DCMTK_DIR}/imagectn/libsrc/Release
${DCMTK_DIR}/imagectn/libsrc/
${DCMTK_DIR}/imagectn/libsrc/Debug
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
FIND_LIBRARY(DCMTK_dcmnet_LIBRARY dcmnet
PATHS
${DCMTK_DIR}/dcmnet/libsrc/Release
${DCMTK_DIR}/dcmnet/libsrc/Debug
${DCMTK_DIR}/dcmnet/libsrc/
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
FIND_LIBRARY(DCMTK_oflog_LIBRARY oflog
PATHS
${DCMTK_DIR}/dcmnet/libsrc/Release
${DCMTK_DIR}/dcmnet/libsrc/Debug
${DCMTK_DIR}/dcmnet/libsrc/
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
FIND_LIBRARY(DCMTK_ofstd_LIBRARY ofstd
PATHS
${DCMTK_DIR}/dcmnet/libsrc/Release
${DCMTK_DIR}/dcmnet/libsrc/Debug
${DCMTK_DIR}/dcmnet/libsrc/
${DCMTK_DIR}/lib
/usr/local/dicom/lib
/usr/local/lib64
/usr/lib64
/usr/local/lib
/usr/lib
/usr/local/dicom/lib
PATH_SUFFIXES dcmtk
)
IF( DCMTK_config_INCLUDE_DIR
AND DCMTK_ofstd_INCLUDE_DIR
AND DCMTK_ofstd_LIBRARY
AND DCMTK_dcmdata_INCLUDE_DIR
AND DCMTK_dcmdata_LIBRARY
AND DCMTK_dcmimgle_INCLUDE_DIR
AND DCMTK_dcmimgle_LIBRARY
AND DCMTK_dcmimage_INCLUDE_DIR
AND DCMTK_dcmimage_LIBRARY )
SET( DCMTK_FOUND "YES" )
SET( DCMTK_INCLUDE_DIRS
${DCMTK_config_INCLUDE_DIR}
${DCMTK_ofstd_INCLUDE_DIR}
${DCMTK_dcmdata_INCLUDE_DIR}
${DCMTK_dcmimgle_INCLUDE_DIR}
${DCMTK_dcmimage_INCLUDE_DIR}
)
SET( DCMTK_LIBRARIES
${DCMTK_dcmimgle_LIBRARY}
${DCMTK_dcmimage_LIBRARY}
${DCMTK_dcmdata_LIBRARY}
${DCMTK_ofstd_LIBRARY}
${DCMTK_config_LIBRARY}
)
IF(DCMTK_imagedb_LIBRARY)
SET( DCMTK_LIBRARIES
${DCMTK_LIBRARIES}
${DCMTK_imagedb_LIBRARY}
)
ENDIF()
IF(DCMTK_dcmnet_LIBRARY)
SET( DCMTK_LIBRARIES
${DCMTK_LIBRARIES}
${DCMTK_dcmnet_LIBRARY}
)
ENDIF()
IF(DCMTK_oflog_LIBRARY)
SET( DCMTK_LIBRARIES
${DCMTK_LIBRARIES}
${DCMTK_oflog_LIBRARY}
)
ENDIF()
IF(DCMTK_ofstd_LIBRARY)
SET( DCMTK_LIBRARIES
${DCMTK_LIBRARIES}
${DCMTK_ofstd_LIBRARY}
)
ENDIF()
IF( WIN32 )
SET( DCMTK_LIBRARIES ${DCMTK_LIBRARIES} netapi32 )
ENDIF()
ENDIF()
IF( NOT DCMTK_FOUND )
SET( DCMTK_DIR "" CACHE PATH "Root of DCMTK source tree (optional)." )
MARK_AS_ADVANCED( DCMTK_DIR )
ENDIF()

View File

@@ -14,6 +14,9 @@ FIND_PATH(PERFORMER_INCLUDE_DIR Performer/pfdu.h
$ENV{PFROOT}
$ENV{PERFORMER_DIR}/include
$ENV{PERFORMER_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@@ -22,6 +25,7 @@ FIND_PATH(PERFORMER_INCLUDE_DIR Performer/pfdu.h
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
@@ -35,6 +39,7 @@ IF(MSVC)
$ENV{PERFORMER_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -43,6 +48,7 @@ IF(MSVC)
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
ELSE(MSVC)
@@ -53,6 +59,9 @@ ELSE(MSVC)
$ENV{PFROOT}
$ENV{PERFORMER_DIR}/lib
$ENV{PERFORMER_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -61,6 +70,7 @@ ELSE(MSVC)
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)
ENDIF(MSVC)

View File

@@ -1,41 +0,0 @@
#use pkg-config to find various modues
INCLUDE(FindPkgConfig OPTIONAL)
IF(PKG_CONFIG_FOUND)
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(CAIRO cairo)
PKG_CHECK_MODULES(POPPLER poppler-glib)
IF (POPPLER_FOUND)
INCLUDE(CheckCXXSourceRuns)
SET(CMAKE_REQUIRED_INCLUDES ${POPPLER_INCLUDE_DIRS})
# Do step by step checking,
CHECK_CXX_SOURCE_RUNS("
#include <cstdlib>
#include <poppler.h>
int main()
{
#ifdef POPPLER_HAS_CAIRO
return EXIT_SUCCESS;
#else
return EXIT_FAILURE
#endif
}
" POPPLER_HAS_CAIRO)
IF (NOT POPPLER_HAS_CAIRO)
SET(POPPLER_FOUND FALSE)
ENDIF()
ENDIF()
# IF (POPPLER_FOUND AND (NOT POPPLER_LIBRARIES OR NOT POPPLER_INCLUDE_DIRS) )
# SET(POPPLER_FOUND FALSE)
# ENDIF()
ENDIF()

View File

@@ -1,49 +0,0 @@
# Locate Apple QTKit (next-generation QuickTime)
# This module defines
# QTKIT_LIBRARY
# QTKIT_FOUND, if false, do not try to link to gdal
# QTKIT_INCLUDE_DIR, where to find the headers
#
# $QTKIT_DIR is an environment variable that would
# correspond to the ./configure --prefix=$QTKIT_DIR
#
# Created by Eric Wing.
# QTKit on OS X looks different than QTKit for Windows,
# so I am going to case the two.
IF(APPLE)
FIND_PATH(QTKIT_INCLUDE_DIR QTKit/QTKit.h)
FIND_LIBRARY(QTKIT_LIBRARY QTKit)
ENDIF()
SET(QTKIT_FOUND "NO")
IF(QTKIT_LIBRARY AND QTKIT_INCLUDE_DIR)
SET(QTKIT_FOUND "YES")
ENDIF()
IF(OSG_BUILD_PLATFORM_IPHONE OR OSG_BUILD_PLATFORM_IPHONE_SIMULATOR)
SET(QTKIT_FOUND "NO")
ENDIF()
IF(APPLE)
# Technically QTKit is 64-bit capable, but the QTKit plug-in currently uses
# a few 32-bit only APIs to bridge QTKit and Core Video.
# As such, the plugin won't compile for 64-bit until Apple fixes this hole
# in their API.
# For simplicitly, I pretend QTKit is only 32-bit, but if/when Apple fixes
# this, we need an OS version check.
# Snow Leopard still lacks a 64-bit path for this.
#First check to see if we are running with a native 64-bit compiler (10.6 default) and implicit arch
IF(NOT CMAKE_OSX_ARCHITECTURES AND CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(QTKIT_FOUND "NO")
ELSE()
#Otherwise check to see if 64-bit is explicitly called for.
LIST(FIND CMAKE_OSX_ARCHITECTURES "x86_64" has64Compile)
IF(NOT has64Compile EQUAL -1)
SET(QTKIT_FOUND "NO")
ENDIF()
ENDIF()
ENDIF()

View File

@@ -6,6 +6,7 @@
#
# $QUICKTIME_DIR is an environment variable that would
# correspond to the ./configure --prefix=$QUICKTIME_DIR
# used in building gdal.
#
# Created by Eric Wing.
@@ -13,54 +14,19 @@
# so I am going to case the two.
IF(APPLE)
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime/QuickTime.h)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
ELSE()
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
$ENV{QUICKTIME_DIR}/include
$ENV{QUICKTIME_DIR}
NO_DEFAULT_PATH
)
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime
$ENV{QUICKTIME_DIR}/lib
$ENV{QUICKTIME_DIR}
NO_DEFAULT_PATH
)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
ENDIF()
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime/QuickTime.h)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
ELSE(APPLE)
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
$ENV{QUICKTIME_DIR}/include
$ENV{QUICKTIME_DIR}
)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
ENDIF(APPLE)
SET(QUICKTIME_FOUND "NO")
IF(QUICKTIME_LIBRARY AND QUICKTIME_INCLUDE_DIR)
SET(QUICKTIME_FOUND "YES")
ENDIF()
SET(QUICKTIME_FOUND "YES")
ENDIF(QUICKTIME_LIBRARY AND QUICKTIME_INCLUDE_DIR)
IF(OSG_BUILD_PLATFORM_IPHONE OR OSG_BUILD_PLATFORM_IPHONE_SIMULATOR)
SET(QUICKTIME_FOUND "NO")
ENDIF()
IF(APPLE)
#Quicktime is not supported under 64bit OSX build so we need to detect it and disable it.
#First check to see if we are running with a native 64-bit compiler (10.6 default) and implicit arch
IF(NOT CMAKE_OSX_ARCHITECTURES AND CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(QUICKTIME_FOUND "NO")
ELSE()
#Otherwise check to see if 64-bit is explicitly called for.
LIST(FIND CMAKE_OSX_ARCHITECTURES "x86_64" has64Compile)
IF(NOT has64Compile EQUAL -1)
SET(QUICKTIME_FOUND "NO")
ENDIF()
ENDIF()
ENDIF()

View File

@@ -1,16 +0,0 @@
#use pkg-config to find various modues
INCLUDE(FindPkgConfig OPTIONAL)
IF(PKG_CONFIG_FOUND)
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(RSVG librsvg-2.0)
PKG_CHECK_MODULES(CAIRO cairo)
IF (RSVG_FOUND AND NOT CAIRO_FOUND)
SET(RSVG_FOUND FALSE)
ENDIF()
ENDIF()

View File

@@ -12,6 +12,9 @@
FIND_PATH(XINE_INCLUDE_DIR xine.h
$ENV{XINE_DIR}/include
$ENV{XINE_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@@ -20,6 +23,7 @@ FIND_PATH(XINE_INCLUDE_DIR xine.h
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
@@ -28,6 +32,9 @@ FIND_LIBRARY(XINE_LIBRARY
PATHS
$ENV{XINE_DIR}/lib
$ENV{XINE_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -36,6 +43,7 @@ FIND_LIBRARY(XINE_LIBRARY
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)

View File

@@ -1,18 +1,21 @@
# Locate zlib
# Locate gdal
# This module defines
# ZLIB_LIBRARY
# ZLIB_FOUND, if false, do not try to link to zlib
# ZLIB_FOUND, if false, do not try to link to gdal
# ZLIB_INCLUDE_DIR, where to find the headers
#
# $ZLIB_DIR is an environment variable that would
# correspond to the ./configure --prefix=$ZLIB_DIR
# used in building zlib.
# used in building gdal.
#
# Created by Ulrich Hertlein.
FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
$ENV{ZLIB_DIR}/include
$ENV{ZLIB_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
$ENV{OSG_ROOT}/include
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
@@ -21,14 +24,18 @@ FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
)
FIND_LIBRARY(ZLIB_LIBRARY
NAMES z libz zlib
NAMES z libz
PATHS
$ENV{ZLIB_DIR}/lib
$ENV{ZLIB_DIR}
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
$ENV{OSG_ROOT}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
@@ -37,6 +44,7 @@ FIND_LIBRARY(ZLIB_LIBRARY
/opt/local/lib
/opt/csw/lib
/opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
/usr/freeware/lib64
)

View File

@@ -2,61 +2,37 @@
# Required Vars:
# ${LIB_NAME}
# ${TARGET_H}
# ${LIB_PUBLIC_HEADERS}
SET(INSTALL_INCDIR include)
SET(INSTALL_BINDIR bin)
IF(WIN32)
SET(INSTALL_LIBDIR bin)
SET(INSTALL_ARCHIVEDIR lib)
ELSE()
ELSE(WIN32)
SET(INSTALL_LIBDIR lib${LIB_POSTFIX})
SET(INSTALL_ARCHIVEDIR lib${LIB_POSTFIX})
ENDIF()
ENDIF(WIN32)
SET(HEADERS_GROUP "Header Files")
SOURCE_GROUP(
${HEADERS_GROUP}
FILES ${TARGET_H}
FILES ${LIB_PUBLIC_HEADERS}
)
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
HANDLE_MSVC_DLL()
ENDIF()
IF(ANDROID)
INSTALL (
FILES ${TARGET_H}
DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}
COMPONENT libopenscenegraph-dev
)
ELSE(ANDROID)
HANDLE_MSVC_DLL()
ENDIF(MSVC AND OSG_MSVC_VERSIONED_DLL)
INSTALL(
TARGETS ${LIB_NAME}
RUNTIME DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph
LIBRARY DESTINATION ${INSTALL_LIBDIR} COMPONENT libopenscenegraph
ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR} COMPONENT libopenscenegraph-dev
RUNTIME DESTINATION ${INSTALL_BINDIR}
LIBRARY DESTINATION ${INSTALL_LIBDIR}
ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR}
)
# FIXME: Do not run for OS X framework
INSTALL(
FILES ${LIB_PUBLIC_HEADERS}
DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}
)
IF(NOT OSG_COMPILE_FRAMEWORKS)
INSTALL (
FILES ${TARGET_H}
DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}
COMPONENT libopenscenegraph-dev
)
ELSE()
SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
SET(CMAKE_INSTALL_RPATH "${OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR}")
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION ${OPENSCENEGRAPH_SOVERSION}
PUBLIC_HEADER "${TARGET_H}"
INSTALL_NAME_DIR "${OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR}"
)
# MESSAGE("${OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR}")
ENDIF()
ENDIF(ANDROID)

View File

@@ -1,180 +0,0 @@
MACRO(SETUP_ANDROID_LIBRARY LIB_NAME)
foreach(arg ${TARGET_LIBRARIES})
set(MODULE_LIBS "${MODULE_LIBS} -l${arg}")
endforeach(arg ${TARGET_LIBRARIES})
foreach(arg ${TARGET_SRC})
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" n_f ${arg})
set(MODULE_SOURCES "${MODULE_SOURCES} ${n_f}")
endforeach(arg ${TARGET_SRC})
#SET(MODULE_INCLUDES "${CMAKE_SOURCE_DIR}/include include")
GET_DIRECTORY_PROPERTY(loc_includes INCLUDE_DIRECTORIES)
foreach(arg ${loc_includes})
IF(NOT "${arg}" MATCHES "/usr/include" AND NOT "${arg}" MATCHES "/usr/local/include")
set(MODULE_INCLUDES "${MODULE_INCLUDES} ${arg}")
ENDIF()
endforeach(arg ${loc_includes})
GET_DIRECTORY_PROPERTY(loc_definitions COMPILE_DEFINITIONS)
foreach(arg ${loc_definitions})
set(DEFINITIONS "${DEFINITIONS} -D${arg}")
endforeach(arg ${loc_definitions})
message(STATUS "##############Creating Android Makefile#################")
message(STATUS "name: ${LIB_NAME}")
set(MODULE_NAME ${LIB_NAME})
set(MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(MODULE_FLAGS_C ${DEFINITIONS})
set(MODULE_FLAGS_CPP ${DEFINITIONS})
#TODO: determine if GLES2 or GLES
IF(OSG_GLES1_AVAILABLE)
SET(OPENGLES_LIBRARY -lGLESv1_CM)
ELSEIF(OSG_GLES2_AVAILABLE)
SET(OPENGLES_LIBRARY -lGLESv2)
ENDIF()
set(MODULE_LIBS "${MODULE_LIBS} ${OPENGLES_LIBRARY} -ldl")
if(NOT CPP_EXTENSION)
set(CPP_EXTENSION "cpp")
endif()
IF(NOT MODULE_USER_STATIC_OR_DYNAMIC)
MESSAGE(FATAL_ERROR "Not defined MODULE_USER_STATIC_OR_DYNAMIC")
ENDIF()
IF("MODULE_USER_STATIC_OR_DYNAMIC" MATCHES "STATIC")
SET(MODULE_BUILD_TYPE "\$\(BUILD_STATIC_LIBRARY\)")
ELSE()
SET(MODULE_BUILD_TYPE "\$\(BUILD_DYNAMIC_LIBRARY\)")
ENDIF()
set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} ${LIB_NAME}")
set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${CMAKE_CURRENT_BINARY_DIR}/Android.mk \n")
configure_file("${OSG_ANDROID_TEMPLATES}/Android.mk.modules.in" "${CMAKE_CURRENT_BINARY_DIR}/Android.mk")
ENDMACRO()
MACRO(ANDROID_3RD_PARTY)
################################################
#JPEG
################################################
FIND_PATH(JPEG_INCLUDE_DIR Android.mk
${CMAKE_SOURCE_DIR}/3rdparty/libjpeg
)
#set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} libjpeg")
#set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${JPEG_INCLUDE_DIR}/Android.mk \n")
if(JPEG_INCLUDE_DIR)
message(STATUS "Jpeg found ${JPEG_INCLUDE_DIR}" )
set(JPEG_FOUND "Yes")
install(DIRECTORY 3rdparty/build/libjpeg/ DESTINATION ./ )
else(JPEG_INCLUDE_DIR)
message(STATUS "Jpeg missing" )
endif()
################################################
#PNG
################################################
FIND_PATH(PNG_INCLUDE_DIR Android.mk
${CMAKE_SOURCE_DIR}/3rdparty/libpng
)
#set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} libpng")
#set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${PNG_INCLUDE_DIR}/Android.mk \n")
if(PNG_INCLUDE_DIR)
message(STATUS "PNG found ${PNG_INCLUDE_DIR}" )
set(PNG_FOUND "Yes")
install(DIRECTORY 3rdparty/build/libpng/ DESTINATION ./ )
else(PNG_INCLUDE_DIR)
message(STATUS "PNG missing" )
endif()
################################################
#GIF
################################################
FIND_PATH(GIFLIB_INCLUDE_DIR Android.mk
${CMAKE_SOURCE_DIR}/3rdparty/giflib
)
#set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} libgif")
#set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${GIFLIB_INCLUDE_DIR}/Android.mk \n")
if(GIFLIB_INCLUDE_DIR)
message(STATUS "GIF found ${GIFLIB_INCLUDE_DIR}" )
set(GIFLIB_FOUND "Yes")
install(DIRECTORY 3rdparty/build/giflib/ DESTINATION ./ )
else(GIFLIB_INCLUDE_DIR)
message(STATUS "GIF missing" )
endif()
################################################
#TIF
################################################
FIND_PATH(TIFF_INCLUDE_DIR Android.mk
${CMAKE_SOURCE_DIR}/3rdparty/libtiff
)
#set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} libtiff")
#set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${TIFF_INCLUDE_DIR}/Android.mk \n")
if(TIFF_INCLUDE_DIR)
message(STATUS "TIF found ${TIFF_INCLUDE_DIR}" )
set(TIFF_FOUND "Yes")
install(DIRECTORY 3rdparty/build/libtiff/ DESTINATION ./ )
else(TIFF_INCLUDE_DIR)
message(STATUS "TIF missing" )
endif()
################################################
#ZLIB
################################################
#FIND_PATH(ZLIB_INCLUDE_DIR Android.mk
# ${CMAKE_SOURCE_DIR}/3rdparty/zlib
#)
#set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} zlib")
#set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${ZLIB_INCLUDE_DIR}/Android.mk \n")
#if(ZLIB_INCLUDE_DIR)
# message(STATUS "ZLIB found ${ZLIB_INCLUDE_DIR}" )
# set(ZLIB_FOUND "Yes")
# install(DIRECTORY 3rdparty/build/libjpeg/ DESTINATION ./ )
#else(ZLIB_INCLUDE_DIR)
# message(STATUS "ZLIB missing" )
#endif()
################################################
#CURL
################################################
FIND_PATH(CURL_DIR Android.mk
${CMAKE_SOURCE_DIR}/3rdparty/curl
)
#set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} libcurl")
#set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${CURL_DIR}/Android.mk \n")
set(CURL_INCLUDE_DIR ${CURL_DIR}/include)
set(CURL_INCLUDE_DIRS ${CURL_DIR}/include) #Both are defined in FindCurl
if(CURL_DIR)
message(STATUS "Curl found ${CURL_DIR}" )
set(CURL_FOUND "Yes")
install(DIRECTORY 3rdparty/build/curl/ DESTINATION ./ )
else(CURL_DIR)
message(STATUS "Curl missing" )
endif()
################################################
#FREETYPE
################################################
FIND_PATH(FREETYPE_DIR Android.mk
${CMAKE_SOURCE_DIR}/3rdparty/freetype
)
#set(ENV{AND_OSG_LIB_NAMES} "$ENV{AND_OSG_LIB_NAMES} libft2")
#set(ENV{AND_OSG_LIB_PATHS} "$ENV{AND_OSG_LIB_PATHS}include ${FREETYPE_DIR}/Android.mk \n")
set(FREETYPE_INCLUDE_DIRS "${FREETYPE_DIR}/include ${FREETYPE_DIR}/include/freetype/config")
if(FREETYPE_DIR)
message(STATUS "FREETYPE found ${FREETYPE_DIR}" )
set(FREETYPE_FOUND "Yes")
install(DIRECTORY 3rdparty/build/freetype/ DESTINATION ./ )
else(FREETYPE_DIR)
message(STATUS "FREETYPE missing" )
endif()
################################################
#GDAL
################################################
FIND_PATH(GDAL_DIR gdal.h
${CMAKE_SOURCE_DIR}/3rdparty/gdal/include
)
set(GDAL_INCLUDE_DIR "${GDAL_DIR}")
if(GDAL_DIR)
message(STATUS "GDAL found ${GDAL_DIR}" )
set(GDAL_FOUND "Yes")
install(DIRECTORY 3rdparty/build/gdal/ DESTINATION ./ )
else(GDAL_DIR)
message(STATUS "GDAL missing" )
endif()
ENDMACRO()

View File

@@ -1,144 +0,0 @@
# This script sets up packaging targets for each "COMPONENT" as specified in INSTALL commands
#
# for each component a CPackConfig-<component>.cmake is generated in the build tree
# and a target is added to call cpack for it (e.g. package_openscenegaph
# A target for generating a package with everything that gets INSTALLED is generated (package_openscenegraph-all)
# A target for making all of the abaove packages is generated (package_ALL)
#
# package filenames are created on the form <package>-<platform>-<arch>[-<compiler>]-<build_type>[-static].tar.gz
# ...where compiler optionally set using a cmake gui (OSG_CPACK_COMPILER). This script tries to guess compiler version for msvc generators
# ...build_type matches CMAKE_BUILD_TYPE for all generators but the msvc ones
# resolve architecture. The reason i "change" i686 to i386 is that debian packages
# require i386 so this is for the future
IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686")
SET(SYSTEM_ARCH "i386")
ELSE()
SET(SYSTEM_ARCH ${CMAKE_SYSTEM_PROCESSOR})
ENDIF()
# set a default system name - use CMake setting (Linux|Windows|...)
SET(SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
#message(STATUS "CMAKE_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}")
#message(STATUS "CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}")
# for msvc the SYSTEM_NAME is set win32/64 instead of "Windows"
IF(MSVC)
IF(CMAKE_CL_64)
SET(SYSTEM_NAME "win64")
ELSE()
SET(SYSTEM_NAME "win32")
ENDIF()
ENDIF()
# Guess the compiler (is this desired for other platforms than windows?)
IF(NOT DEFINED OSG_CPACK_COMPILER)
INCLUDE(OsgDetermineCompiler)
ENDIF()
# expose the compiler setting to the user
SET(OSG_CPACK_COMPILER "${OSG_COMPILER}" CACHE STRING "This ia short string (vc90, vc80sp1, gcc-4.3, ...) describing your compiler. The string is used for creating package filenames")
IF(OSG_CPACK_COMPILER)
SET(OSG_CPACK_SYSTEM_SPEC_STRING ${SYSTEM_NAME}-${SYSTEM_ARCH}-${OSG_CPACK_COMPILER})
ELSE()
SET(OSG_CPACK_SYSTEM_SPEC_STRING ${SYSTEM_NAME}-${SYSTEM_ARCH})
ENDIF()
## variables that apply to all packages
SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${OPENSCENEGRAPH_VERSION}")
# these goes for all platforms. Setting these stops the CPack.cmake script from generating options about other package compression formats (.z .tz, etc.)
IF(WIN32)
SET(CPACK_GENERATOR "ZIP" CACHE STRING "CPack package generator type (i.e ZIP,NSIS,TGZ,DEB,RPM, -- see CPack for valid stypes")
ELSE()
SET(CPACK_GENERATOR "TGZ" CACHE STRING "CPack package generator type (i.e ZIP,NSIS,TGZ,DEB,RPM, -- see CPack for valid stypes")
ENDIF()
SET(CPACK_SOURCE_GENERATOR "TGZ")
# for ms visual studio we use it's internally defined variable to get the configuration (debug,release, ...)
IF(MSVC_IDE)
SET(OSG_CPACK_CONFIGURATION "$(OutDir)")
SET(PACKAGE_TARGET_PREFIX "Package ")
ELSE()
# on un*x an empty CMAKE_BUILD_TYPE means release
IF(CMAKE_BUILD_TYPE)
SET(OSG_CPACK_CONFIGURATION ${CMAKE_BUILD_TYPE})
ELSE()
SET(OSG_CPACK_CONFIGURATION "Release")
ENDIF()
SET(PACKAGE_TARGET_PREFIX "package_")
ENDIF()
# Get all defined components
GET_CMAKE_PROPERTY(CPACK_COMPONENTS_ALL COMPONENTS)
IF(NOT CPACK_COMPONENTS_ALL)
# cmake 2.6.0 don't supply the COMPONENTS property.
# I set it manually to be the packages that can always be packaged
MESSAGE("When building packages please consider using cmake version 2.6.1 or above")
SET(CPACK_COMPONENTS_ALL libopenscenegraph libopenthreads openscenegraph libopenscenegraph-dev libopenthreads-dev)
ENDIF()
# Create a target that will be used to generate all packages defined below
SET(PACKAGE_ALL_TARGETNAME "${PACKAGE_TARGET_PREFIX}ALL")
ADD_CUSTOM_TARGET(${PACKAGE_ALL_TARGETNAME})
MACRO(GENERATE_PACKAGING_TARGET package_name)
SET(CPACK_PACKAGE_NAME ${package_name})
# the doc packages don't need a system-arch specification
IF(${package} MATCHES -doc)
SET(OSG_PACKAGE_FILE_NAME ${package_name}-${OPENSCENEGRAPH_VERSION})
ELSE()
SET(OSG_PACKAGE_FILE_NAME ${package_name}-${OPENSCENEGRAPH_VERSION}-${OSG_CPACK_SYSTEM_SPEC_STRING}-${OSG_CPACK_CONFIGURATION})
IF(NOT DYNAMIC_OPENSCENEGRAPH)
SET(OSG_PACKAGE_FILE_NAME ${OSG_PACKAGE_FILE_NAME}-static)
ENDIF()
ENDIF()
CONFIGURE_FILE("${OpenSceneGraph_SOURCE_DIR}/CMakeModules/OsgCPackConfig.cmake.in" "${OpenSceneGraph_BINARY_DIR}/CPackConfig-${package_name}.cmake" IMMEDIATE)
SET(PACKAGE_TARGETNAME "${PACKAGE_TARGET_PREFIX}${package_name}")
# This is naive and will probably need fixing eventually
IF(MSVC)
SET(MOVE_COMMAND "move")
ELSE()
SET(MOVE_COMMAND "mv")
ENDIF()
# Set in and out archive filenames. Windows = zip, others = tar.gz
IF(WIN32)
SET(ARCHIVE_EXT "zip")
ELSE()
SET(ARCHIVE_EXT "tar.gz")
ENDIF()
# Create a target that creates the current package
# and rename the package to give it proper filename
ADD_CUSTOM_TARGET(${PACKAGE_TARGETNAME})
SET_TARGET_PROPERTIES(${PACKAGE_TARGETNAME} PROPERTIES FOLDER "Packaging")
ADD_CUSTOM_COMMAND(TARGET ${PACKAGE_TARGETNAME}
COMMAND ${CMAKE_CPACK_COMMAND} -C ${OSG_CPACK_CONFIGURATION} --config ${OpenSceneGraph_BINARY_DIR}/CPackConfig-${package_name}.cmake
COMMENT "Run CPack packaging for ${package_name}..."
)
# Add the exact same custom command to the all package generating target.
# I can't use add_dependencies to do this because it would allow parallell building of packages so am going brute here
ADD_CUSTOM_COMMAND(TARGET ${PACKAGE_ALL_TARGETNAME}
COMMAND ${CMAKE_CPACK_COMMAND} -C ${OSG_CPACK_CONFIGURATION} --config ${OpenSceneGraph_BINARY_DIR}/CPackConfig-${package_name}.cmake
)
SET_TARGET_PROPERTIES(${PACKAGE_ALL_TARGETNAME} PROPERTIES FOLDER "Packaging")
ENDMACRO(GENERATE_PACKAGING_TARGET)
# Create configs and targets for a package including all components
SET(OSG_CPACK_COMPONENT ALL)
GENERATE_PACKAGING_TARGET(openscenegraph-all)
# Create configs and targets for each component
FOREACH(package ${CPACK_COMPONENTS_ALL})
SET(OSG_CPACK_COMPONENT ${package})
GENERATE_PACKAGING_TARGET(${package})
ENDFOREACH()

View File

@@ -1,71 +0,0 @@
# This file will be configured to contain variables for CPack. These variables
# should be set in the CMake list file of the project before CPack module is
# included. Example variables are:
# CPACK_GENERATOR - Generator used to create package
# CPACK_INSTALL_CMAKE_PROJECTS - For each project (path, name, component)
# CPACK_CMAKE_GENERATOR - CMake Generator used for the projects
# CPACK_INSTALL_COMMANDS - Extra commands to install components
# CPACK_INSTALL_DIRECTORIES - Extra directories to install
# CPACK_PACKAGE_DESCRIPTION_FILE - Description file for the package
# CPACK_PACKAGE_DESCRIPTION_SUMMARY - Summary of the package
# CPACK_PACKAGE_EXECUTABLES - List of pairs of executables and labels
# CPACK_PACKAGE_FILE_NAME - Name of the package generated
# CPACK_PACKAGE_ICON - Icon used for the package
# CPACK_PACKAGE_INSTALL_DIRECTORY - Name of directory for the installer
# CPACK_PACKAGE_NAME - Package project name
# CPACK_PACKAGE_VENDOR - Package project vendor
# CPACK_PACKAGE_VERSION - Package project version
# CPACK_PACKAGE_VERSION_MAJOR - Package project version (major)
# CPACK_PACKAGE_VERSION_MINOR - Package project version (minor)
# CPACK_PACKAGE_VERSION_PATCH - Package project version (patch)
# There are certain generator specific ones
# NSIS Generator:
# CPACK_PACKAGE_INSTALL_REGISTRY_KEY - Name of the registry key for the installer
# CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS - Extra commands used during uninstall
# CPACK_NSIS_EXTRA_INSTALL_COMMANDS - Extra commands used during install
SET(CPACK_BINARY_BUNDLE "${CPACK_BINARY_BUNDLE}")
SET(CPACK_BINARY_CYGWIN "${CPACK_BINARY_CYGWIN}")
SET(CPACK_BINARY_DEB "${CPACK_BINARY_DEB}")
SET(CPACK_BINARY_NSIS "${CPACK_BINARY_NSIS}")
SET(CPACK_BINARY_OSXX11 "${CPACK_BINARY_OSXX11}")
SET(CPACK_BINARY_PACKAGEMAKER "${CPACK_BINARY_PACKAGEMAKER}")
SET(CPACK_BINARY_RPM "${CPACK_BINARY_RPM}")
SET(CPACK_BINARY_STGZ "${CPACK_BINARY_STGZ}")
SET(CPACK_BINARY_TBZ2 "${CPACK_BINARY_TBZ2}")
SET(CPACK_BINARY_TGZ "${CPACK_BINARY_TGZ}")
SET(CPACK_BINARY_TZ "${CPACK_BINARY_TZ}")
SET(CPACK_BINARY_ZIP "${CPACK_BINARY_ZIP}")
SET(CPACK_CMAKE_GENERATOR "${CMAKE_GENERATOR}")
SET(CPACK_COMPONENTS_ALL "${CPACK_COMPONENTS_ALL}")
SET(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE")
SET(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE")
SET(CPACK_GENERATOR "${CPACK_GENERATOR}")
SET(CPACK_INSTALL_CMAKE_PROJECTS "${OpenSceneGraph_BINARY_DIR};OpenSceneGraph;${OSG_CPACK_COMPONENT};/")
SET(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
SET(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
SET(CPACK_MODULE_PATH "${OpenSceneGraph_SOURCE_DIR}/CMakeModules;")
SET(CPACK_NSIS_DISPLAY_NAME "${CMAKE_PROJECT_NAME} ${OPENSCENEGRAPH_VERSION}")
SET(CPACK_NSIS_INSTALLER_ICON_CODE "")
SET(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
SET(CPACK_OUTPUT_CONFIG_FILE "${PROJECT_BINARY_DIR}/CPackConfig-${OSG_CPACK_COMPONENT}.cmake")
SET(CPACK_PACKAGE_DEFAULT_LOCATION "/")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${OpenSceneGraph_SOURCE_DIR}/README.txt")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The OpenSceneGraph is an open source high performance 3d graphics toolkit")
SET(CPACK_PACKAGE_FILE_NAME "${OSG_PACKAGE_FILE_NAME}")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CMAKE_PROJECT_NAME}-${OPENSCENEGRAPH_VERSION}")
SET(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}")
SET(CPACK_PACKAGE_RELOCATABLE "true")
SET(CPACK_PACKAGE_VENDOR "The OpenSceneGraph developers and contributors lead by Robert Osfield")
SET(CPACK_PACKAGE_VERSION "${OPENSCENEGRAPH_VERSION}")
SET(CPACK_PACKAGE_VERSION_MAJOR "${OPENSCENEGRAPH_MAJOR_VERSION}")
SET(CPACK_PACKAGE_VERSION_MINOR "${OPENSCENEGRAPH_MINOR_VERSION}")
SET(CPACK_PACKAGE_VERSION_PATCH "${OPENSCENEGRAPH_PATCH_VERSION}")
SET(CPACK_RESOURCE_FILE_LICENSE "${OpenSceneGraph_SOURCE_DIR}/LICENSE.txt")
SET(CPACK_RESOURCE_FILE_README "${OpenSceneGraph_SOURCE_DIR}/README.txt")
SET(CPACK_RESOURCE_FILE_WELCOME "${OpenSceneGraph_SOURCE_DIR}/NEWS.txt")
SET(CPACK_STRIP_FILES "ON")

View File

@@ -1,74 +0,0 @@
# - If Visual Studio is being used, this script sets the variable OSG_COMPILER
# The principal reason for this is due to MSVC 8.0 SP0 vs SP1 builds.
#
# Variable:
# OSG_COMPILER
#
# Not currently used...
#IF(CMAKE_COMPILER_IS_GNUCXX)
# EXEC_PROGRAM(
# ${CMAKE_CXX_COMPILER}
# ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
# OUTPUT_VARIABLE gcc_compiler_version
# )
# #MESSAGE("GCC Version: ${gcc_compiler_version}")
IF(MSVC60)
SET(OSG_COMPILER "vc60")
ELSEIF(MSVC70)
SET(OSG_COMPILER "vc70")
ELSEIF(MSVC71)
SET(OSG_COMPILER "vc71")
ELSEIF(MSVC80)
SET(OSG_COMPILER "vc80")
ELSEIF(MSVC90)
SET(OSG_COMPILER "vc90")
ENDIF()
IF(MSVC80)
MESSAGE(STATUS "Checking if compiler has service pack 1 installed...")
FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx" "int main() {return 0;}\n")
TRY_COMPILE(_TRY_RESULT
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx
CMAKE_FLAGS -D CMAKE_VERBOSE_MAKEFILE=ON
OUTPUT_VARIABLE OUTPUT
)
IF(_TRY_RESULT)
# parse for exact compiler version
STRING(REGEX MATCH "Compiler Version [0-9]+.[0-9]+.[0-9]+.[0-9]+" vc_compiler_version "${OUTPUT}")
IF(vc_compiler_version)
#MESSAGE("${vc_compiler_version}")
STRING(REGEX MATCHALL "[0-9]+" CL_VERSION_LIST "${vc_compiler_version}")
LIST(GET CL_VERSION_LIST 0 CL_MAJOR_VERSION)
LIST(GET CL_VERSION_LIST 1 CL_MINOR_VERSION)
LIST(GET CL_VERSION_LIST 2 CL_PATCH_VERSION)
LIST(GET CL_VERSION_LIST 3 CL_EXTRA_VERSION)
ENDIF(vc_compiler_version)
# Standard vc80 is 14.00.50727.42, sp1 14.00.50727.762, sp2?
# Standard vc90 is 9.0.30729.1, sp1 ?
IF(CL_EXTRA_VERSION EQUAL 762)
SET(OSG_COMPILER "vc80sp1")
ELSE(CL_EXTRA_VERSION EQUAL 762)
SET(OSG_COMPILER "vc80")
ENDIF(CL_EXTRA_VERSION EQUAL 762)
# parse for exact visual studio version
#IF(MSVC_IDE)
# string(REGEX MATCH "Visual Studio Version [0-9]+.[0-9]+.[0-9]+.[0-9]+" vs_version "${OUTPUT}")
# IF(vs_version)
# MESSAGE("${vs_version}")
# string(REGEX MATCHALL "[0-9]+" VS_VERSION_LIST "${vs_version}")
# list(GET VS_VERSION_LIST 0 VS_MAJOR_VERSION)
# list(GET VS_VERSION_LIST 1 VS_MINOR_VERSION)
# list(GET VS_VERSION_LIST 2 VS_PATCH_VERSION)
# list(GET VS_VERSION_LIST 3 VS_EXTRA_VERSION)
# ENDIF(vs_version)
#ENDIF(MSVC_IDE)
ENDIF(_TRY_RESULT)
ENDIF(MSVC80)

View File

@@ -4,41 +4,11 @@
# full path of the library name. in order to differentiate release and debug, this macro get the
# NAME of the variables, so the macro gets as arguments the target name and the following list of parameters
# is intended as a list of variable names each one containing the path of the libraries to link to
# The existance of a variable name with _DEBUG appended is tested and, in case it' s value is used
# The existance of a varibale name with _DEBUG appended is tested and, in case it' s value is used
# for linking to when in debug mode
# the content of this library for linking when in debugging
#######################################################################################################
# VALID_BUILDER_VERSION: used for replacing CMAKE_VERSION (available in v2.6.3 RC9) and VERSION_GREATER/VERSION_LESS (available in 2.6.2 RC4).
# This can be replaced by "IF(${CMAKE_VERSION} VERSION_LESS "x.y.z")" from 2.6.4.
SET(VALID_BUILDER_VERSION OFF)
MACRO(BUILDER_VERSION_GREATER MAJOR_VER MINOR_VER PATCH_VER)
SET(VALID_BUILDER_VERSION OFF)
IF(CMAKE_MAJOR_VERSION GREATER ${MAJOR_VER})
SET(VALID_BUILDER_VERSION ON)
ELSEIF(CMAKE_MAJOR_VERSION EQUAL ${MAJOR_VER})
IF(CMAKE_MINOR_VERSION GREATER ${MINOR_VER})
SET(VALID_BUILDER_VERSION ON)
ELSEIF(CMAKE_MINOR_VERSION EQUAL ${MINOR_VER})
IF(CMAKE_PATCH_VERSION GREATER ${PATCH_VER})
SET(VALID_BUILDER_VERSION ON)
ENDIF(CMAKE_PATCH_VERSION GREATER ${PATCH_VER})
ENDIF()
ENDIF()
ENDMACRO(BUILDER_VERSION_GREATER MAJOR_VER MINOR_VER PATCH_VER)
# CMAKE24: if CMake version is <2.6.0.
SET(CMAKE24 OFF)
IF(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} LESS 5)
SET(CMAKE24 ON)
ENDIF(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} LESS 5)
# CMAKE_VERSION_TEST: Define whether "IF(${CMAKE_VERSION} VERSION_LESS "x.y.z")" can be used or not.
BUILDER_VERSION_GREATER(2 6 3)
SET(CMAKE_VERSION_TEST ${VALID_BUILDER_VERSION}) # >= 2.6.4
SET(VALID_BUILDER_VERSION OFF)
MACRO(LINK_WITH_VARIABLES TRGTNAME)
FOREACH(varname ${ARGN})
@@ -51,22 +21,19 @@ MACRO(LINK_WITH_VARIABLES TRGTNAME)
ENDMACRO(LINK_WITH_VARIABLES TRGTNAME)
MACRO(LINK_INTERNAL TRGTNAME)
IF(NOT CMAKE24)
TARGET_LINK_LIBRARIES(${TRGTNAME} ${ARGN})
ELSE(NOT CMAKE24)
FOREACH(LINKLIB ${ARGN})
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
#when using versioned names, the .dll name differ from .lib name, there is a problem with that:
#CMake 2.4.7, at least seem to use PREFIX instead of IMPORT_PREFIX for computing linkage info to use into projects,
# so we full path name to specify linkage, this prevent automatic inferencing of dependencies, so we add explicit depemdencies
#to library targets used
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${OUTPUT_LIBDIR}/${LINKLIB}${CMAKE_RELEASE_POSTFIX}.lib" debug "${OUTPUT_LIBDIR}/${LINKLIB}${CMAKE_DEBUG_POSTFIX}.lib")
ADD_DEPENDENCIES(${TRGTNAME} ${LINKLIB})
ELSE(MSVC AND OSG_MSVC_VERSIONED_DLL)
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${LINKLIB}${CMAKE_RELEASE_POSTFIX}" debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
ENDIF(MSVC AND OSG_MSVC_VERSIONED_DLL)
ENDFOREACH(LINKLIB)
ENDIF(NOT CMAKE24)
FOREACH(LINKLIB ${ARGN})
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
#when using versioned names, the .dll name differ from .lib name, there is a problem with that:
#CMake 2.4.7, at least seem to use PREFIX instead of IMPORT_PREFIX for computing linkage info to use into projects,
# so we full path name to specify linkage, this prevent automatic inferencing of dependencies, so we add explicit depemdencies
#to library targets used
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${OUTPUT_LIBDIR}/${LINKLIB}" debug "${OUTPUT_LIBDIR}/${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
ADD_DEPENDENCIES(${TRGTNAME} ${LINKLIB})
ELSE(MSVC AND OSG_MSVC_VERSIONED_DLL)
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${LINKLIB}" debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
ENDIF(MSVC AND OSG_MSVC_VERSIONED_DLL)
ENDFOREACH(LINKLIB)
ENDMACRO(LINK_INTERNAL TRGTNAME)
MACRO(LINK_EXTERNAL TRGTNAME)
@@ -81,18 +48,11 @@ ENDMACRO(LINK_EXTERNAL TRGTNAME)
#######################################################################################################
MACRO(LINK_CORELIB_DEFAULT CORELIB_NAME)
#SET(ALL_GL_LIBRARIES ${OPENGL_LIBRARIES})
SET(ALL_GL_LIBRARIES ${OPENGL_gl_LIBRARY})
IF (OSG_GLES1_AVAILABLE OR OSG_GLES2_AVAILABLE)
SET(ALL_GL_LIBRARIES ${ALL_GL_LIBRARIES} ${OPENGL_egl_LIBRARY})
ENDIF()
LINK_EXTERNAL(${CORELIB_NAME} ${ALL_GL_LIBRARIES})
LINK_EXTERNAL(${CORELIB_NAME} ${OPENGL_LIBRARIES})
LINK_WITH_VARIABLES(${CORELIB_NAME} OPENTHREADS_LIBRARY)
IF(OPENSCENEGRAPH_SONAMES)
SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES VERSION ${OPENSCENEGRAPH_VERSION} SOVERSION ${OPENSCENEGRAPH_SOVERSION})
ENDIF(OPENSCENEGRAPH_SONAMES)
ENDMACRO(LINK_CORELIB_DEFAULT CORELIB_NAME)
@@ -111,7 +71,7 @@ ENDMACRO(LINK_CORELIB_DEFAULT CORELIB_NAME)
MACRO(SETUP_LINK_LIBRARIES)
######################################################################
#
# This set up the libraries to link to, it assumes there are two variable: one common for a group of examples or plugins
# This set up the libraries to link to, it assumes there are two variable: one common for a group of examples or plagins
# kept in the variable TARGET_COMMON_LIBRARIES and an example or plugin specific kept in TARGET_ADDED_LIBRARIES
# they are combined in a single list checked for unicity
# the suffix ${CMAKE_DEBUG_POSTFIX} is used for differentiating optimized and debug
@@ -132,26 +92,19 @@ MACRO(SETUP_LINK_LIBRARIES)
ENDIF(TO_INSERT)
ENDFOREACH(LINKLIB)
#SET(ALL_GL_LIBRARIES ${OPENGL_LIBRARIES})
SET(ALL_GL_LIBRARIES ${OPENGL_gl_LIBRARY})
IF (OSG_GLES1_AVAILABLE OR OSG_GLES2_AVAILABLE)
SET(ALL_GL_LIBRARIES ${ALL_GL_LIBRARIES} ${OPENGL_egl_LIBRARY})
ENDIF()
# FOREACH(LINKLIB ${TARGET_LIBRARIES})
# TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} optimized ${LINKLIB} debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
# ENDFOREACH(LINKLIB)
LINK_INTERNAL(${TARGET_TARGETNAME} ${TARGET_LIBRARIES})
# FOREACH(LINKLIB ${TARGET_EXTERNAL_LIBRARIES})
# TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} ${LINKLIB})
# ENDFOREACH(LINKLIB)
TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} ${TARGET_EXTERNAL_LIBRARIES})
LINK_INTERNAL(${TARGET_TARGETNAME} ${TARGET_LIBRARIES})
FOREACH(LINKLIB ${TARGET_EXTERNAL_LIBRARIES})
TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} ${LINKLIB})
ENDFOREACH(LINKLIB)
IF(TARGET_LIBRARIES_VARS)
LINK_WITH_VARIABLES(${TARGET_TARGETNAME} ${TARGET_LIBRARIES_VARS})
ENDIF(TARGET_LIBRARIES_VARS)
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
#when using full path name to specify linkage, it seems that already linked libs must be specified
LINK_EXTERNAL(${TARGET_TARGETNAME} ${ALL_GL_LIBRARIES})
#when using full path name to specify linkage, it seems that already linked libs must be specified
LINK_EXTERNAL(${TARGET_TARGETNAME} ${OPENGL_LIBRARIES})
ENDIF(MSVC AND OSG_MSVC_VERSIONED_DLL)
ENDMACRO(SETUP_LINK_LIBRARIES)
@@ -160,95 +113,9 @@ ENDMACRO(SETUP_LINK_LIBRARIES)
# this is the common set of command for all the plugins
#
# Sets the output directory property for CMake >= 2.6.0, giving an output path RELATIVE to default one
MACRO(SET_OUTPUT_DIR_PROPERTY_260 TARGET_TARGETNAME RELATIVE_OUTDIR)
BUILDER_VERSION_GREATER(2 8 0)
IF(NOT VALID_BUILDER_VERSION)
# If CMake <= 2.8.0 (Testing CMAKE_VERSION is possible in >= 2.6.4)
IF(MSVC_IDE)
# Using the "prefix" hack
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "../${RELATIVE_OUTDIR}/")
ELSE(MSVC_IDE)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "${RELATIVE_OUTDIR}/")
ENDIF(MSVC_IDE)
ELSE(NOT VALID_BUILDER_VERSION)
# Using the output directory properties
# Global properties (All generators but VS & Xcode)
FILE(TO_CMAKE_PATH TMPVAR "CMAKE_ARCHIVE_OUTPUT_DIRECTORY/${RELATIVE_OUTDIR}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${TMPVAR}")
FILE(TO_CMAKE_PATH TMPVAR "CMAKE_RUNTIME_OUTPUT_DIRECTORY/${RELATIVE_OUTDIR}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TMPVAR}")
FILE(TO_CMAKE_PATH TMPVAR "CMAKE_LIBRARY_OUTPUT_DIRECTORY/${RELATIVE_OUTDIR}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TMPVAR}")
# Per-configuration property (VS, Xcode)
FOREACH(CONF ${CMAKE_CONFIGURATION_TYPES}) # For each configuration (Debug, Release, MinSizeRel... and/or anything the user chooses)
STRING(TOUPPER "${CONF}" CONF) # Go uppercase (DEBUG, RELEASE...)
# We use "FILE(TO_CMAKE_PATH", to create nice looking paths
FILE(TO_CMAKE_PATH "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONF}}/${RELATIVE_OUTDIR}" TMPVAR)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES "ARCHIVE_OUTPUT_DIRECTORY_${CONF}" "${TMPVAR}")
FILE(TO_CMAKE_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONF}}/${RELATIVE_OUTDIR}" TMPVAR)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES "RUNTIME_OUTPUT_DIRECTORY_${CONF}" "${TMPVAR}")
FILE(TO_CMAKE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONF}}/${RELATIVE_OUTDIR}" TMPVAR)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES "LIBRARY_OUTPUT_DIRECTORY_${CONF}" "${TMPVAR}")
ENDFOREACH(CONF ${CMAKE_CONFIGURATION_TYPES})
ENDIF(NOT VALID_BUILDER_VERSION)
ENDMACRO(SET_OUTPUT_DIR_PROPERTY_260 TARGET_TARGETNAME RELATIVE_OUTDIR)
#######################################################################################################
# macro for common setup of libraries it expect some variables to be set:
# either within the local CMakeLists or higher in hierarchy
# LIB_NAME is the name of the target library
# TARGET_SRC are the sources of the target
# TARGET_H are the eventual headers of the target
# TARGET_H_NO_MODULE_INSTALL are headers that belong to target but shouldn't get installed by the ModuleInstall script
# TARGET_LIBRARIES are the libraries to link to that are internal to the project and have d suffix for debug
# TARGET_EXTERNAL_LIBRARIES are external libraries and are not differentiated with d suffix
# TARGET_LABEL is the label IDE should show up for targets
##########################################################################################################
MACRO(SETUP_LIBRARY LIB_NAME)
IF(ANDROID)
SETUP_ANDROID_LIBRARY(${LIB_NAME})
ELSE()
SET(TARGET_NAME ${LIB_NAME} )
SET(TARGET_TARGETNAME ${LIB_NAME} )
ADD_LIBRARY(${LIB_NAME}
${OPENSCENEGRAPH_USER_DEFINED_DYNAMIC_OR_STATIC}
${TARGET_H}
${TARGET_H_NO_MODULE_INSTALL}
${TARGET_SRC}
)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES FOLDER "OSG Core")
IF(TARGET_LABEL)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}")
ENDIF(TARGET_LABEL)
IF(TARGET_LIBRARIES)
LINK_INTERNAL(${LIB_NAME} ${TARGET_LIBRARIES})
ENDIF()
IF(TARGET_EXTERNAL_LIBRARIES)
LINK_EXTERNAL(${LIB_NAME} ${TARGET_EXTERNAL_LIBRARIES})
ENDIF()
IF(TARGET_LIBRARIES_VARS)
LINK_WITH_VARIABLES(${LIB_NAME} ${TARGET_LIBRARIES_VARS})
ENDIF(TARGET_LIBRARIES_VARS)
LINK_CORELIB_DEFAULT(${LIB_NAME})
ENDIF()
INCLUDE(ModuleInstall OPTIONAL)
ENDMACRO(SETUP_LIBRARY LIB_NAME)
MACRO(SETUP_PLUGIN PLUGIN_NAME)
IF(ANDROID)
SETUP_ANDROID_LIBRARY(${TARGET_DEFAULT_PREFIX}${PLUGIN_NAME})
ELSE()
SET(TARGET_NAME ${PLUGIN_NAME} )
SET(TARGET_NAME ${PLUGIN_NAME} )
#MESSAGE("in -->SETUP_PLUGIN<-- ${TARGET_NAME}-->${TARGET_SRC} <--> ${TARGET_H}<--")
@@ -260,18 +127,8 @@ MACRO(SETUP_PLUGIN PLUGIN_NAME)
IF(NOT TARGET_LABEL)
SET(TARGET_LABEL "${TARGET_DEFAULT_LABEL_PREFIX} ${TARGET_NAME}")
ENDIF(NOT TARGET_LABEL)
## plugins gets put in libopenscenegraph by default
IF(${ARGC} GREATER 1)
SET(PACKAGE_COMPONENT libopenscenegraph-${ARGV1})
ELSE(${ARGC} GREATER 1)
SET(PACKAGE_COMPONENT libopenscenegraph)
ENDIF(${ARGC} GREATER 1)
# Add the VisualStudio versioning info
SET(TARGET_SRC ${TARGET_SRC} ${OPENSCENEGRAPH_VERSIONINFO_RC})
# here we use the command to generate the library
# here we use the command to generate the library
IF (DYNAMIC_OPENSCENEGRAPH)
ADD_LIBRARY(${TARGET_TARGETNAME} MODULE ${TARGET_SRC} ${TARGET_H})
@@ -281,58 +138,37 @@ MACRO(SETUP_PLUGIN PLUGIN_NAME)
#not sure if needed, but for plugins only Msvc need the d suffix
IF(NOT MSVC)
IF(NOT UNIX)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX "")
ENDIF(NOT UNIX)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX "")
ELSE(NOT MSVC)
IF(NOT CMAKE24)
SET_OUTPUT_DIR_PROPERTY_260(${TARGET_TARGETNAME} "${OSG_PLUGINS}") # Sets the ouput to be /osgPlugin-X.X.X ; also ensures the /Debug /Release are removed
ELSE(NOT CMAKE24)
IF(OSG_MSVC_VERSIONED_DLL)
#this is a hack... the build place is set to lib/<debug or release> by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR
#the .lib will be crated in ../ so going straight in lib by the IMPORT_PREFIX property
#because we want dll placed in OUTPUT_BINDIR ie the bin folder sibling of lib, we can use ../../bin to go there,
#it is hardcoded, we should compute OUTPUT_BINDIR position relative to OUTPUT_LIBDIR ... to be implemented
#changing bin to something else breaks this hack
#the dll are placed in bin/${OSG_PLUGINS}
IF(NOT MSVC_IDE)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "../bin/${OSG_PLUGINS}/")
ELSE(NOT MSVC_IDE)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "../../bin/${OSG_PLUGINS}/" IMPORT_PREFIX "../")
ENDIF(NOT MSVC_IDE)
ELSE(OSG_MSVC_VERSIONED_DLL)
#in standard mode (unversioned) the .lib and .dll are placed in lib/<debug or release>/${OSG_PLUGINS}.
#here the PREFIX property has been used, the same result would be accomplidhe by prepending ${OSG_PLUGINS}/ to OUTPUT_NAME target property
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "${OSG_PLUGINS}/")
ENDIF(OSG_MSVC_VERSIONED_DLL)
ENDIF(NOT CMAKE24)
IF(OSG_MSVC_VERSIONED_DLL)
#this is a hack... the build place is set to lib/<debug or release> by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR
#the .lib will be crated in ../ so going straight in lib by the IMPORT_PREFIX property
#because we want dll placed in OUTPUT_BINDIR ie the bin folder sibling of lib, we can use ../../bin to go there,
#it is hardcoded, we should compute OUTPUT_BINDIR position relative to OUTPUT_LIBDIR ... to be implemented
#changing bin to something else breaks this hack
#the dll are placed in bin/${OSG_PLUGINS}
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "../../bin/${OSG_PLUGINS}/")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES IMPORT_PREFIX "../")
ELSE(OSG_MSVC_VERSIONED_DLL)
#in standard mode (unversioned) the .lib and .dll are placed in lib/<debug or release>/${OSG_PLUGINS}.
#here the PREFIX property has been used, the same result would be accomplidhe by prepending ${OSG_PLUGINS}/ to OUTPUT_NAME target property
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "${OSG_PLUGINS}/")
ENDIF(OSG_MSVC_VERSIONED_DLL)
ENDIF(NOT MSVC)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES FOLDER "Plugins")
SETUP_LINK_LIBRARIES()
#the installation path are differentiated for win32 that install in bib versus other architecture that install in lib${LIB_POSTFIX}/${OSG_PLUGINS}
IF(WIN32)
INSTALL(TARGETS ${TARGET_TARGETNAME}
RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT}
ARCHIVE DESTINATION lib/${OSG_PLUGINS} COMPONENT libopenscenegraph-dev
LIBRARY DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT})
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib/${OSG_PLUGINS} LIBRARY DESTINATION bin/${OSG_PLUGINS} )
ELSE(WIN32)
INSTALL(TARGETS ${TARGET_TARGETNAME}
RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT}
ARCHIVE DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} COMPONENT libopenscenegraph-dev
LIBRARY DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT})
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} LIBRARY DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} )
ENDIF(WIN32)
ENDIF()
ENDMACRO(SETUP_PLUGIN)
@@ -384,18 +220,12 @@ MACRO(SETUP_EXE IS_COMMANDLINE_APP)
ADD_EXECUTABLE(${TARGET_TARGETNAME} ${PLATFORM_SPECIFIC_CONTROL} ${TARGET_SRC} ${TARGET_H})
ENDIF(${IS_COMMANDLINE_APP})
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES OUTPUT_NAME ${TARGET_NAME})
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_OUTPUT_NAME "${TARGET_NAME}${CMAKE_DEBUG_POSTFIX}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES RELEASE_OUTPUT_NAME "${TARGET_NAME}${CMAKE_RELEASE_POSTFIX}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES RELWITHDEBINFO_OUTPUT_NAME "${TARGET_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES MINSIZEREL_OUTPUT_NAME "${TARGET_NAME}${CMAKE_MINSIZEREL_POSTFIX}")
IF(MSVC_IDE AND OSG_MSVC_VERSIONED_DLL)
SET_OUTPUT_DIR_PROPERTY_260(${TARGET_TARGETNAME} "") # Ensure the /Debug /Release are removed
ENDIF(MSVC_IDE AND OSG_MSVC_VERSIONED_DLL)
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PREFIX "../")
ENDIF(MSVC AND OSG_MSVC_VERSIONED_DLL)
SETUP_LINK_LIBRARIES()
ENDMACRO(SETUP_EXE)
@@ -413,13 +243,7 @@ MACRO(SETUP_APPLICATION APPLICATION_NAME)
SETUP_EXE(${IS_COMMANDLINE_APP})
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES FOLDER "Applications")
IF(APPLE)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
ELSE(APPLE)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph )
ENDIF(APPLE)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin )
ENDMACRO(SETUP_APPLICATION)
@@ -442,13 +266,7 @@ MACRO(SETUP_EXAMPLE EXAMPLE_NAME)
SETUP_EXE(${IS_COMMANDLINE_APP})
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES FOLDER "Examples")
IF(APPLE)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin )
ELSE(APPLE)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples )
ENDIF(APPLE)
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin )
ENDMACRO(SETUP_EXAMPLE)
@@ -461,12 +279,12 @@ ENDMACRO(SETUP_COMMANDLINE_EXAMPLE)
# Takes two optional arguments -- osg prefix and osg version
MACRO(HANDLE_MSVC_DLL)
#this is a hack... the build place is set to lib/<debug or release> by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR
#the .lib will be crated in ../ so going straight in lib by the IMPORT_PREFIX property
#because we want dll placed in OUTPUT_BINDIR ie the bin folder sibling of lib, we can use ../../bin to go there,
#it is hardcoded, we should compute OUTPUT_BINDIR position relative to OUTPUT_LIBDIR ... to be implemented
#changing bin to something else breaks this hack
#the dll are versioned by prefixing the name with osg${OPENSCENEGRAPH_SOVERSION}-
#this is a hack... the build place is set to lib/<debug or release> by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR
#the .lib will be crated in ../ so going straight in lib by the IMPORT_PREFIX property
#because we want dll placed in OUTPUT_BINDIR ie the bin folder sibling of lib, we can use ../../bin to go there,
#it is hardcoded, we should compute OUTPUT_BINDIR position relative to OUTPUT_LIBDIR ... to be implemented
#changing bin to something else breaks this hack
#the dll are versioned by prefixing the name with osg${OPENSCENEGRAPH_SOVERSION}-
# LIB_PREFIX: use "osg" by default, else whatever we've been given.
IF(${ARGC} GREATER 0)
@@ -481,43 +299,10 @@ MACRO(HANDLE_MSVC_DLL)
ELSE(${ARGC} GREATER 1)
SET(LIB_SOVERSION ${OPENSCENEGRAPH_SOVERSION})
ENDIF(${ARGC} GREATER 1)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-")
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES IMPORT_PREFIX "../")
SET_OUTPUT_DIR_PROPERTY_260(${LIB_NAME} "") # Ensure the /Debug /Release are removed
IF(NOT MSVC_IDE)
IF (NOT CMAKE24)
BUILDER_VERSION_GREATER(2 8 0)
IF(NOT VALID_BUILDER_VERSION)
# If CMake < 2.8.1
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
ELSE(NOT VALID_BUILDER_VERSION)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "${LIB_PREFIX}${LIB_SOVERSION}-")
ENDIF(NOT VALID_BUILDER_VERSION)
ELSE (NOT CMAKE24)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
SET(NEW_LIB_NAME "${OUTPUT_BINDIR}/${LIB_PREFIX}${LIB_SOVERSION}-${LIB_NAME}")
ADD_CUSTOM_COMMAND(
TARGET ${LIB_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${NEW_LIB_NAME}.lib" "${OUTPUT_LIBDIR}/${LIB_NAME}.lib"
COMMAND ${CMAKE_COMMAND} -E copy "${NEW_LIB_NAME}.exp" "${OUTPUT_LIBDIR}/${LIB_NAME}.exp"
COMMAND ${CMAKE_COMMAND} -E remove "${NEW_LIB_NAME}.lib"
COMMAND ${CMAKE_COMMAND} -E remove "${NEW_LIB_NAME}.exp"
)
ENDIF (NOT CMAKE24)
ELSE(NOT MSVC_IDE)
IF (NOT CMAKE24)
BUILDER_VERSION_GREATER(2 8 0)
IF(NOT VALID_BUILDER_VERSION)
# If CMake < 2.8.1
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
ELSE(NOT VALID_BUILDER_VERSION)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "${LIB_PREFIX}${LIB_SOVERSION}-")
ENDIF(NOT VALID_BUILDER_VERSION)
ELSE (NOT CMAKE24)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
ENDIF (NOT CMAKE24)
ENDIF(NOT MSVC_IDE)
# SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/osg${OPENSCENEGRAPH_SOVERSION}-")
# SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES IMPORT_PREFIX "../")
# SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/osg${OPENSCENEGRAPH_SOVERSION}-")
# SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES IMPORT_PREFIX "../")
ENDMACRO(HANDLE_MSVC_DLL)

View File

@@ -1,220 +1,180 @@
INCLUDE(ListHandle)
#---------------------------------------------------
# Macro: FILTER_OUT FILTERS INPUTS OUTPUT
#
# Mimicks Gnu Make's $(filter-out) which removes elements
# from a list that match the pattern.
# Arguments:
# FILTERS - list of patterns that need to be removed
# INPUTS - list of inputs that will be worked on
# OUTPUT - the filtered list to be returned
#
# Example:
# SET(MYLIST this that and the other)
# SET(FILTS this that)
#
# FILTER_OUT("${FILTS}" "${MYLIST}" OUT)
# MESSAGE("OUTPUT = ${OUT}")
#
# The output -
# OUTPUT = and;the;other
#
#---------------------------------------------------
MACRO(FILTER_OUT FILTERS INPUTS OUTPUT)
SET(FOUT "")
FOREACH(INP ${INPUTS})
SET(FILTERED 0)
FOREACH(FILT ${FILTERS})
IF(${FILTERED} EQUAL 0)
IF("${FILT}" STREQUAL "${INP}")
SET(FILTERED 1)
ENDIF()
ENDIF()
ENDFOREACH()
MACRO(FILTER_OUT FILTERS INPUTS OUTPUT)
# Mimicks Gnu Make's $(filter-out) which removes elements
# from a list that match the pattern.
# Arguments:
# FILTERS - list of patterns that need to be removed
# INPUTS - list of inputs that will be worked on
# OUTPUT - the filtered list to be returned
#
# Example:
# SET(MYLIST this that and the other)
# SET(FILTS this that)
#
# FILTER_OUT("${FILTS}" "${MYLIST}" OUT)
# MESSAGE("OUTPUT = ${OUT}")
#
# The output -
# OUTPUT = and;the;other
#
SET(FOUT "")
FOREACH(INP ${INPUTS})
SET(FILTERED 0)
FOREACH(FILT ${FILTERS})
IF(${FILTERED} EQUAL 0)
IF("${FILT}" STREQUAL "${INP}")
SET(FILTERED 1)
ENDIF("${FILT}" STREQUAL "${INP}")
ENDIF(${FILTERED} EQUAL 0)
ENDFOREACH(FILT ${FILTERS})
IF(${FILTERED} EQUAL 0)
SET(FOUT ${FOUT} ${INP})
ENDIF(${FILTERED} EQUAL 0)
ENDFOREACH(INP ${INPUTS})
SET(${OUTPUT} ${FOUT})
ENDMACRO(FILTER_OUT FILTERS INPUTS OUTPUT)
IF(${FILTERED} EQUAL 0)
SET(FOUT ${FOUT} ${INP})
ENDIF()
ENDFOREACH(INP ${INPUTS})
SET(${OUTPUT} ${FOUT})
ENDMACRO()
#---------------------------------------------------
# Macro: GET_HEADERS_EXTENSIONLESS DIR GLOB_PATTERN OUTPUT
#
#---------------------------------------------------
MACRO(GET_HEADERS_EXTENSIONLESS DIR GLOB_PATTERN OUTPUT)
FILE(GLOB TMP "${DIR}/${GLOB_PATTERN}" )
#FOREACH(F ${TMP})
# MESSAGE(STATUS "header-->${F}<--")
#ENDFOREACH(F ${TMP})
FILTER_OUT("${DIR}/CVS" "${TMP}" TMP)
FILTER_OUT("${DIR}/cvs" "${TMP}" ${OUTPUT})
FILTER_OUT("${DIR}/.svn" "${TMP}" ${OUTPUT})
ENDMACRO()
#---------------------------------------------------
# Macro: ADD_DIRS_TO_ENV_VAR _VARNAME
#
#---------------------------------------------------
MACRO(GET_HEADERS_EXTENSIONLESS DIR GLOB_PATTERN OUTPUT)
FILE(GLOB TMP "${DIR}/${GLOB_PATTERN}" )
#FOREACH(F ${TMP})
# MESSAGE(STATUS "header-->${F}<--")
#ENDFOREACH(F ${TMP})
FILTER_OUT("${DIR}/CVS" "${TMP}" TMP)
FILTER_OUT("${DIR}/cvs" "${TMP}" ${OUTPUT})
FILTER_OUT("${DIR}/.svn" "${TMP}" ${OUTPUT})
ENDMACRO(GET_HEADERS_EXTENSIONLESS DIR GLOB_PATTERN OUTPUT)
MACRO(ADD_DIRS_TO_ENV_VAR _VARNAME )
FOREACH(_ADD_PATH ${ARGN})
FILE(TO_NATIVE_PATH ${_ADD_PATH} _ADD_NATIVE)
#SET(_CURR_ENV_PATH $ENV{PATH})
#LIST(SET _CURR_ENV_PATH ${_ADD_PATH})
#SET(ENV{PATH} ${_CURR_ENV_PATH})${_FILE}
IF(WIN32)
SET(ENV{${_VARNAME}} "$ENV{${_VARNAME}};${_ADD_NATIVE}")
ELSE()
SET(ENV{${_VARNAME}} "$ENV{${_VARNAME}}:${_ADD_NATIVE}")
ENDIF()
#MESSAGE(" env ${_VARNAME} --->$ENV{${_VARNAME}}<---")
ENDFOREACH()
ENDMACRO()
FOREACH(_ADD_PATH ${ARGN})
FILE(TO_NATIVE_PATH ${_ADD_PATH} _ADD_NATIVE)
#SET(_CURR_ENV_PATH $ENV{PATH})
#LIST(SET _CURR_ENV_PATH ${_ADD_PATH})
#SET(ENV{PATH} ${_CURR_ENV_PATH})${_FILE}
IF(WIN32)
SET(ENV{${_VARNAME}} "$ENV{${_VARNAME}};${_ADD_NATIVE}")
ELSE(WIN32)
SET(ENV{${_VARNAME}} "$ENV{${_VARNAME}}:${_ADD_NATIVE}")
ENDIF(WIN32)
#MESSAGE(" env ${_VARNAME} --->$ENV{${_VARNAME}}<---")
ENDFOREACH(_ADD_PATH)
ENDMACRO(ADD_DIRS_TO_ENV_VAR _VARNAME )
#---------------------------------------------------
# Macro: CORRECT_PATH VAR PATH
#
# Corrects slashes in PATH to be cmake conformous ( / )
# MACRO CORRECT_PATH VAR PATH
# corrects slashes in PATH to be cmake conformous ( / )
# and puts result in VAR
#---------------------------------------------------
MACRO(CORRECT_PATH VAR PATH)
SET(${VAR} ${PATH})
IF(WIN32)
STRING(REGEX REPLACE "/" "\\\\" ${VAR} "${PATH}")
ENDIF()
ENDMACRO()
#---------------------------------------------------
# Macro: TARGET_LOCATIONS_SET_FILE FILE
# TODO: Ok, this seems a bit ridiculuous.
#---------------------------------------------------
IF(WIN32)
STRING(REGEX REPLACE "/" "\\\\" ${VAR} "${PATH}")
ENDIF(WIN32)
ENDMACRO(CORRECT_PATH)
MACRO(TARGET_LOCATIONS_SET_FILE FILE)
SET(ACCUM_FILE_TARGETS ${FILE})
FILE(WRITE ${ACCUM_FILE_TARGETS} "")
ENDMACRO()
#---------------------------------------------------
# Macro: TARGET_LOCATIONS_ACCUM TARGET_NAME
#
#---------------------------------------------------
SET(ACCUM_FILE_TARGETS ${FILE})
FILE(WRITE ${ACCUM_FILE_TARGETS} "")
ENDMACRO(TARGET_LOCATIONS_SET_FILE FILE)
MACRO(TARGET_LOCATIONS_ACCUM TARGET_NAME)
IF(ACCUM_FILE_TARGETS)
IF(EXISTS ${ACCUM_FILE_TARGETS})
GET_TARGET_PROPERTY(_FILE_LOCATION ${TARGET_NAME} LOCATION)
FILE(APPEND ${ACCUM_FILE_TARGETS} "${_FILE_LOCATION};")
#SET(_TARGETS_LIST ${_TARGETS_LIST} "${_FILE_LOCATION}" CACHE INTERNAL "lista dll")
#MESSAGE("adding target -->${TARGET_NAME}<-- file -->${_FILE_LOCATION}<-- to list -->${_TARGETS_LIST}<--")
#SET(ACCUM_FILE_TARGETS ${ACCUM_FILE_TARGETS} ${_FILE_LOCATION})
ENDIF()
ENDIF()
ENDMACRO()
#---------------------------------------------------
# Macro: TARGET_LOCATIONS_GET_LIST _VAR
#
#---------------------------------------------------
IF(ACCUM_FILE_TARGETS)
IF(EXISTS ${ACCUM_FILE_TARGETS})
GET_TARGET_PROPERTY(_FILE_LOCATION ${TARGET_NAME} LOCATION)
FILE(APPEND ${ACCUM_FILE_TARGETS} "${_FILE_LOCATION};")
#SET(_TARGETS_LIST ${_TARGETS_LIST} "${_FILE_LOCATION}" CACHE INTERNAL "lista dll")
#MESSAGE("adding target -->${TARGET_NAME}<-- file -->${_FILE_LOCATION}<-- to list -->${_TARGETS_LIST}<--")
#SET(ACCUM_FILE_TARGETS ${ACCUM_FILE_TARGETS} ${_FILE_LOCATION})
ENDIF(EXISTS ${ACCUM_FILE_TARGETS})
ENDIF(ACCUM_FILE_TARGETS)
ENDMACRO(TARGET_LOCATIONS_ACCUM TARGET_NAME)
MACRO(TARGET_LOCATIONS_GET_LIST _VAR)
IF(ACCUM_FILE_TARGETS)
IF(EXISTS ${ACCUM_FILE_TARGETS})
FILE(READ ${ACCUM_FILE_TARGETS} ${_VAR})
ENDIF(EXISTS ${ACCUM_FILE_TARGETS})
ENDIF()
ENDMACRO()
IF(ACCUM_FILE_TARGETS)
IF(EXISTS ${ACCUM_FILE_TARGETS})
FILE(READ ${ACCUM_FILE_TARGETS} ${_VAR})
ENDIF(EXISTS ${ACCUM_FILE_TARGETS})
ENDIF(ACCUM_FILE_TARGETS)
ENDMACRO(TARGET_LOCATIONS_GET_LIST _VAR)
#---------------------------------------------------
# Macro: FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY SEARCHPATHLIST
#
#---------------------------------------------------
MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY SEARCHPATHLIST)
MESSAGE(STATUS "searching ${DEPNAME} -->${INCLUDEFILE}<-->${LIBRARY}<-->${SEARCHPATHLIST}<--")
SET(MY_PATH_INCLUDE )
SET(MY_PATH_LIB )
SET(MY_PATH_BIN )
MESSAGE(STATUS "searching ${DEPNAME} -->${INCLUDEFILE}<-->${LIBRARY}<-->${SEARCHPATHLIST}<--")
FOREACH( MYPATH ${SEARCHPATHLIST} )
SET(MY_PATH_INCLUDE ${MY_PATH_INCLUDE} ${MYPATH}/include)
SET(MY_PATH_LIB ${MY_PATH_LIB} ${MYPATH}/lib)
SET(MY_PATH_BIN ${MY_PATH_BIN} ${MYPATH}/bin)
ENDFOREACH()
SET(MY_PATH_INCLUDE )
SET(MY_PATH_LIB )
SET(MY_PATH_BIN )
SET(MYLIBRARY "${LIBRARY}")
SEPARATE_ARGUMENTS(MYLIBRARY)
FOREACH( MYPATH ${SEARCHPATHLIST} )
SET(MY_PATH_INCLUDE ${MY_PATH_INCLUDE} ${MYPATH}/include)
SET(MY_PATH_LIB ${MY_PATH_LIB} ${MYPATH}/lib)
SET(MY_PATH_BIN ${MY_PATH_BIN} ${MYPATH}/bin)
ENDFOREACH( MYPATH ${SEARCHPATHLIST} )
#MESSAGE( " include paths: -->${MY_PATH_INCLUDE}<--")
SET(MYLIBRARY "${LIBRARY}")
SEPARATE_ARGUMENTS(MYLIBRARY)
#MESSAGE( " ${DEPNAME}_INCLUDE_DIR --> ${${DEPNAME}_INCLUDE_DIR}<--")
#MESSAGE( " include paths: -->${MY_PATH_INCLUDE}<--")
FIND_PATH("${DEPNAME}_INCLUDE_DIR" ${INCLUDEFILE}
${MY_PATH_INCLUDE}
)
MARK_AS_ADVANCED("${DEPNAME}_INCLUDE_DIR")
#MESSAGE( " ${DEPNAME}_INCLUDE_DIR --> ${${DEPNAME}_INCLUDE_DIR}<--")
#MESSAGE( " ${DEPNAME}_INCLUDE_DIR --> ${${DEPNAME}_INCLUDE_DIR}<--")
FIND_PATH("${DEPNAME}_INCLUDE_DIR" ${INCLUDEFILE}
${MY_PATH_INCLUDE}
)
MARK_AS_ADVANCED("${DEPNAME}_INCLUDE_DIR")
#MESSAGE( " ${DEPNAME}_INCLUDE_DIR --> ${${DEPNAME}_INCLUDE_DIR}<--")
FIND_LIBRARY("${DEPNAME}_LIBRARY"
NAMES ${MYLIBRARY}
PATHS ${MY_PATH_LIB}
)
IF(${DEPNAME}_LIBRARY)
GET_FILENAME_COMPONENT(MYLIBNAME ${${DEPNAME}_LIBRARY} NAME_WE)
GET_FILENAME_COMPONENT(MYBINPATH ${${DEPNAME}_LIBRARY} PATH)
GET_FILENAME_COMPONENT(MYBINPATH ${MYBINPATH} PATH)
SET(MYBINPATH "${MYBINPATH}/bin")
IF(EXISTS ${MYBINPATH})
SET(MYFOUND 0)
FOREACH(MYPATH ${MY_ACCUM_BINARY_DEP})
IF(MYPATH MATCHES ${MYBINPATH})
SET(MYFOUND 1)
#MESSAGE("found -->${MYPATH}<-->${MYBINPATH}<--")
ENDIF()
ENDFOREACH()
IF(MYFOUND EQUAL 0)
SET(MY_ACCUM_BINARY_DEP ${MY_ACCUM_BINARY_DEP} ${MYBINPATH})
ENDIF()
ENDIF()
#MESSAGE("${DEPNAME}_BINDEP searching -->${MYLIBNAME}${CMAKE_SHARED_MODULE_SUFFIX}<--in-->${MY_PATH_BIN}<--")
# FIND_FILE("${DEPNAME}_BINDEP"
# ${MYLIBNAME}${CMAKE_SHARED_MODULE_SUFFIX}
# PATHS ${MY_PATH_BIN}
# )
# FIND_LIBRARY("${DEPNAME}_BINDEP"
# NAMES ${MYLIBRARY}
# PATHS ${MY_PATH_BIN}
# )
ENDIF()
MARK_AS_ADVANCED("${DEPNAME}_LIBRARY")
#MESSAGE( " ${DEPNAME}_LIBRARY --> ${${DEPNAME}_LIBRARY}<--")
IF(${DEPNAME}_INCLUDE_DIR)
IF(${DEPNAME}_LIBRARY)
SET( ${DEPNAME}_FOUND "YES" )
SET( ${DEPNAME}_LIBRARIES ${${DEPNAME}_LIBRARY} )
ENDIF()
ENDIF()
ENDMACRO()
#---------------------------------------------------
# Macro: MACRO_MESSAGE MYTEXT
#
#---------------------------------------------------
FIND_LIBRARY("${DEPNAME}_LIBRARY"
NAMES ${MYLIBRARY}
PATHS ${MY_PATH_LIB}
)
IF(${DEPNAME}_LIBRARY)
GET_FILENAME_COMPONENT(MYLIBNAME ${${DEPNAME}_LIBRARY} NAME_WE)
GET_FILENAME_COMPONENT(MYBINPATH ${${DEPNAME}_LIBRARY} PATH)
GET_FILENAME_COMPONENT(MYBINPATH ${MYBINPATH} PATH)
SET(MYBINPATH "${MYBINPATH}/bin")
IF(EXISTS ${MYBINPATH})
SET(MYFOUND 0)
FOREACH(MYPATH ${MY_ACCUM_BINARY_DEP})
IF(MYPATH MATCHES ${MYBINPATH})
SET(MYFOUND 1)
#MESSAGE("found -->${MYPATH}<-->${MYBINPATH}<--")
ENDIF(MYPATH MATCHES ${MYBINPATH})
ENDFOREACH(MYPATH )
IF(MYFOUND EQUAL 0)
SET(MY_ACCUM_BINARY_DEP ${MY_ACCUM_BINARY_DEP} ${MYBINPATH})
ENDIF(MYFOUND EQUAL 0)
ENDIF(EXISTS ${MYBINPATH})
#MESSAGE("${DEPNAME}_BINDEP searching -->${MYLIBNAME}${CMAKE_SHARED_MODULE_SUFFIX}<--in-->${MY_PATH_BIN}<--")
# FIND_FILE("${DEPNAME}_BINDEP"
# ${MYLIBNAME}${CMAKE_SHARED_MODULE_SUFFIX}
# PATHS ${MY_PATH_BIN}
# )
# FIND_LIBRARY("${DEPNAME}_BINDEP"
# NAMES ${MYLIBRARY}
# PATHS ${MY_PATH_BIN}
# )
ENDIF(${DEPNAME}_LIBRARY)
MARK_AS_ADVANCED("${DEPNAME}_LIBRARY")
#MESSAGE( " ${DEPNAME}_LIBRARY --> ${${DEPNAME}_LIBRARY}<--")
IF(${DEPNAME}_INCLUDE_DIR)
IF(${DEPNAME}_LIBRARY)
SET( ${DEPNAME}_FOUND "YES" )
SET( ${DEPNAME}_LIBRARIES ${${DEPNAME}_LIBRARY} )
ENDIF(${DEPNAME}_LIBRARY)
ENDIF(${DEPNAME}_INCLUDE_DIR)
ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY SEARCHPATHLIST)
#SET(MACRO_MESSAGE_DEBUG TRUE)
MACRO(MACRO_MESSAGE MYTEXT)
IF(MACRO_MESSAGE_DEBUG)
MESSAGE("in file -->${CMAKE_CURRENT_LIST_FILE}<-- line -->${CMAKE_CURRENT_LIST_LINE}<-- message ${MYTEXT}")
ELSE()
ELSE(MACRO_MESSAGE_DEBUG)
MESSAGE(STATUS "in file -->${CMAKE_CURRENT_LIST_FILE}<-- line -->${CMAKE_CURRENT_LIST_LINE}<-- message ${MYTEXT}")
ENDIF()
ENDMACRO()
ENDIF(MACRO_MESSAGE_DEBUG)
ENDMACRO(MACRO_MESSAGE MYTEXT)

View File

@@ -1,6 +0,0 @@
find . -name Makefile | xargs rm -rf
find . -name cmake_install.cmake | xargs rm -rf
find . -name CMakeFiles | xargs rm -rf
rm -rf CMakeCache.txt cmake_uninstall.cmake install_manifest.txt
rm -rf lib bin

View File

@@ -1,31 +1,22 @@
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF()
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling \"${file}\"")
IF(EXISTS "${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
ENDIF()
ELSEIF(IS_SYMLINK "${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
ENDIF()
ELSE()
MESSAGE(STATUS "File \"${file}\" does not exist.")
ENDIF()
ENDFOREACH()
MESSAGE(STATUS "Uninstalling \"${file}\"")
IF(EXISTS "${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF("${rm_retval}" STREQUAL 0)
ELSE("${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
ENDIF("${rm_retval}" STREQUAL 0)
ELSE(EXISTS "${file}")
MESSAGE(STATUS "File \"${file}\" does not exist.")
ENDIF(EXISTS "${file}")
ENDFOREACH(file)

View File

@@ -1,13 +0,0 @@
## This file should be placed in the root directory of your project.
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
## # The following are required to uses Dart and the Cdash dashboard
## ENABLE_TESTING()
## INCLUDE(Dart)
set(CTEST_PROJECT_NAME "OpenSceneGraph")
set(CTEST_NIGHTLY_START_TIME "00:00:00 CET")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "cdash.openscenegraph.org")
set(CTEST_DROP_LOCATION "/submit.php?project=OpenSceneGraph")
set(CTEST_DROP_SITE_CDASH TRUE)

63367
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -13,9 +13,8 @@
under the terms of the OpenSceneGraph Public License (OSGPL) version 0.0
or later.
Notes: the OSGPL is based on the LGPL, with the 4 exceptions laid
out in the wxWindows section below. The LGPL is contained in the
final section of this license.
Notes: the OSGPL is based on the LGPL, with the 4 exceptions laid in the wxWindows
section below. The LGPL in the final section of this license.
-------------------------------------------------------------------------------
@@ -188,7 +187,7 @@ modification follow. Pay close attention to the difference between a
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other

251
NEWS.txt
View File

@@ -1,257 +1,6 @@
OSG News
========
= !OpenSceneGraph 3.0 release adds support OpenGL ES 1.1, OpenGL ES 2.0, OpenGL 3.x to 4.0, support for Andoid and IOS platforms and much more.
PERTHSHIRE, Scotland - 28th June 2011 - !OpenSceneGraph Professional Services announces the release of !OpenSceneGraph 3.0, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. !OpenSceneGraph 3.0 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. !OpenSceneGraph 3.0 runs on all Microsoft Windows platforms, Apple OS/X, IOS, GNU/Linux, Android, IRIX, Solaris, HP-UX, AIX and FreeBSD operating systems.
=== Open-source development delivers industry-leading features and performance ===
The !OpenSceneGraph 3.0 release is the culmination of 12 years of work by the lead developers and the open-source community that has grown up around the project. The real-time graphics industry and academia embraced it from the very beginning, deploying it in real-world applications, and actively participating in its development, testing and refinement. The end result is a high-quality library with a feature set relevant to application developers' needs.
=== Updates include: ===
* OpenGL ES 1.1, and OpenGL ES 2.0 support
* OpenGL 3.x and 4.x support along with associated OpenGL extensions
* Supoort for Android on tablets and phones
* Support for IOS on tablets and phones (end users applications have already been accepted on the App Store)
* Introduction of Present3D application for immersive 3D presentations
* New extensible serializers that provide new .osgb binary, .osgt ascii and .osgx xml file native formats
* New generalized serializable metadata architecture
* New osgQt library that makes it straight forward to integrate !OpenSceneGraph with Qt, including web browsing via QWebKit.
* New FBX plugin based on the Audodesk FBX DSK that enables reading of the the .fbx 3D authoring and interchange format
* New directshow plugin for handling movies under Windows
* New pov plugin for exporting a scene to POV-Ray format, enabling use of POV-Ray to do photo-realistic ray tracing
* New ply plugin for reading ply files
* Improvements to osgText that enable bevelling of 3D text and highter quality 2D fonts
* Improvements to osgVolume enabling high quality ray traced volume rendering
* Improvements to osgManipulator making it more flexible
* Improvements to osgParticle to support shader based particle effects
* Revamped 3ds plugin for reading and writing of .3ds files
* Revamped dxf plugin for reading and writing of .dxf files
* Support for Cocoa and 64bit OSX build
* Improved thread safety and efficiency of database paging
* New Texture and buffer object pools for efficiently managing GL object resources
=== Downloads and Licensing ===
!OpenSceneGraph is open-source, so full source code is provided, and can be copied, modified and used free of charge for commercial and non-commercial use. Access to the source allows end users greater flexibility in how they develop, debug and deploy their applications. They gain productivity and freedom by being able to leverage the tool chain in accordance with their own release cycles. Downloads of binaries and source can be found in the [http://www.openscenegraph.org/projects/osg/wiki/Downloads Downloads] section of the openscenegraph.org website.
!OpenSceneGraph is released under the [http://www.openscenegraph.org/projects/osg/wiki/Legal OpenSceneGraph Public License], which is based on the Lesser GNU Public License (LGPL), permitting the software to be used free of charge across the full spectrum of commercial and open-source applications. Furthermore, it allows both static and dynamic linking of the !OpenSceneGraph libraries without restricting the licensing of the user's software.
=== !OpenSceneGraph Books now available ===
The new book dedicated to the !OpenSceneGraph 3.0 release is now available https://www.packtpub.com/openscenegraph-3-0-beginners-guide/book.
=== Professional support and services ===
!OpenSceneGraph project is backed up with professional services by [http://www.openscenegraph.com OpenSceneGraph Professional Services], based in Scotland, and [http://www.skew-matrix.com Skew-Matrix] and [http://www.alphapixel.com AlphaPixel] both based in the USA, and a range of [wiki:Community/Contractors Contractors] from around the world. Services available include:
* Confidential Professional Support
* Bespoke development
* Consultancy
* Training
=== Community support and contributions ===
The diverse and growing community of over 5000 developers is centred around the public osg-users mailing list/forum, where members discuss how best to use !OpenSceneGraph, provide mutual support, and coordinate development of new features and bug fixes. Members of this community come from many different countries with backgrounds ranging from some of the world's largest aerospace companies, game companies, and visual simulation specialists to university researchers, students and hobbyists.
The !OpenSceneGraph project owes a great deal to the community for its development and support, in particular we wish to thank the [http://www.openscenegraph.org/projects/osg/wiki/Support/Contributors/ThreePointZero 464 individuals] from around the world that have directly contributed to the development and refinement of the !OpenSceneGraph code base.
= !OpenSceneGraph 2.8 release adds osgAnimation and osgVolume libraries, DICOM support, LispSM shadowing and much more. =
PERTHSHIRE, Scotland - 12th February 2009 - !OpenSceneGraph Professional Services announces the release of !OpenSceneGraph 2.8, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. !OpenSceneGraph 2.8 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. !OpenSceneGraph 2.8 runs on all Microsoft Windows platforms, Apple OS/X, GNU/Linux, IRIX, Solaris, HP-UX, AIX and FreeBSD operating systems.
=== Open-source development delivers industry-leading features and performance ===
The !OpenSceneGraph 2.8 release is the culmination of 10 years of work by the lead developers and the open-source community that has grown up around the project. The real-time graphics industry and academia embraced it from the very beginning, deploying it in real-world applications, and actively participating in its development, testing and refinement. The end result is a high-quality library with a feature set relevant to application developers' needs.
=== Updates include: ===
* New osgVolume library for volume rendering, with support for:
* High quality GPU based Ray tracing
* Transfer functions
* Per pixel lighting
* Iso surface rendering
* Maximum Intensity Projection rendering
* Non-power-of-two 3D textures, and 3D texture compression
* DICOM loading for reading dicom medical data
* New osgAnimation library for character and scene animation.
* New plugin for reading Biovision hierarchical files (.BVH) to generate character motion animations.
* New osgShadow support for Light Space Perspective Shadow Maps (LispSM).
* Three new scene graph widgets for placing traditional 2D capability into fully interactive 3D scenes:
* PDF widget (based on libPoppler)
* VNC client widget (based on libVNCServer)
* Internet browser client widget (based on Gecko/UBrowser)
* New plugins for loading Half-Life 2 maps and models.
* New plugin for loading EXR, high dynamic range imagery
* Improvements to !DatabasePager, tailored for low latency paging.
* Improved runtime stats collection and on screen reporting.
* Performance improvements through optimization of matrix operations.
* Support for the OpenGL "draw instanced" extension.
* Support for zlib compressed native .ive and .gz files
* Improvements to COLLADA support.
* Build reporting using CDash
* New packaging support using CPack
* A wide range of build and bug fixes
=== Downloads and Licensing ===
!OpenSceneGraph is open-source, so full source code is provided, and can be copied, modified and used free of charge for commercial and non-commercial use. Access to the source allows end users greater flexibility in how they develop, debug and deploy their applications. They gain productivity and freedom by being able to leverage the tool chain in accordance with their own release cycles. Downloads of binaries and source can be found in the [http://www.openscenegraph.org/projects/osg/wiki/Downloads Downloads] section of the openscenegraph.org website.
!OpenSceneGraph is released under the [http://www.openscenegraph.org/projects/osg/wiki/Legal OpenSceneGraph Public License], which is based on the Lesser GNU Public License (LGPL), permitting the software to be used free of charge across the full spectrum of commercial and open-source applications. Furthermore, it allows both static and dynamic linking of the !OpenSceneGraph libraries without restricting the licensing of the user's software.
=== !OpenSceneGraph Books now available ===
The !OpenSceneGraph Quick Start Guide is now available in Chinese as well as English, and alongside the Reference Manual, books can be found at [http://www.osgbooks.com OsgBooks].
=== Professional support and services ===
!OpenSceneGraph project is backed up with professional services by [http://www.openscenegraph.com OpenSceneGraph Professional Services], based in Scotland, and [http://www.skew-matrix.com Skew-Matrix] and [http://www.blue-newt.com Blue-Newt Software] both based in the USA, and a range of [wiki:Community/Contractors Contractors] from around the world. Services available include:
* Confidential Professional Support
* Bespoke development
* Consultancy
* Training
=== Community support and contributions ===
The diverse and growing community of over 2000 developers is centred around the public osg-users mailing list, where members discuss how best to use !OpenSceneGraph, provide mutual support, and coordinate development of new features and bug fixes. Members of this community come from many different countries with backgrounds ranging from some of the world's largest aerospace companies, game companies, and visual simulation specialists to university researchers, students and hobbyists.
The !OpenSceneGraph project owes a great deal to the community for its development and support, in particular we wish to thank the [http://www.openscenegraph.org/projects/osg/wiki/Support/Contributors/TwoPointEight 365 individuals] from around the world that have directly contributed to the development and refinement of the !OpenSceneGraph code base.
----
About !OpenSceneGraph: [[BR]]
The !OpenSceneGraph Project was founded in September 1999 by Don Burns and Robert Osfield.
Further information, screenshots, downloads, documentation, and support links can be found on the !OpenSceneGraph project website http://www.openscenegraph.org.
About !OpenSceneGraph Professional Services:[[BR]]
!OpenSceneGraph Professional Services, founded by project lead Robert Osfield in April 2001, is based in Callander, Perhshire, Scotland, and provides professional services on top of !OpenSceneGraph. Further information about the services it provides can be found at http://www.openscenegraph.com.
----------------------------------------------------------------------------------------
= !OpenSceneGraph 2.6 release adds osgWidget library, KdTree intersections, Anti-aliased FBOsand much more. =
PERTHSHIRE, Scotland - 5th August 2008 - !OpenSceneGraph Professional Services announces the release of !OpenSceneGraph 2.6, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. !OpenSceneGraph 2.6 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. !OpenSceneGraph 2.6 runs on all Microsoft Windows platforms, Apple OS/X, GNU/Linux, IRIX, Solaris, HP-UX, AIX and FreeBSD operating systems.
=== Open-source development delivers industry-leading features and performance ===
The !OpenSceneGraph 2.6 release is the culmination of 9 years of work by the lead developers and the open-source community that has grown up around the project. The real-time graphics industry and academia embraced it from the very beginning, deploying it in real-world applications, and actively participating in its development, testing and refinement. The end result is a high-quality library with a feature set relevant to application developers' needs.
=== Updates include: ===
* New osgWidget library for scene graph based graphics user interface elements (beta release).
* KdTree support, with automatic KdTree generation on load and use of KdTree during line intersections which massively improves intersection speeds.
* Precision improvements to line intersections, provide accurate whole earth intersection.
* OpenGL Multi-sample FrameBufferObject support.
* New osg::ImageSequence class for doing texture animation of a series of image files.
* New database optimizer that is able to remove static transforms by duplicating shared geometries.
* Use glGenerateMipmap to speed up mipmap generation in non power-of-two textures.
* New osgViewer::ScreenCaptureHandler for adding screen shot support to osgViewer applications.
* New osgscreencapture example that demonstrates use of double buffer PixelBufferObject's for streaming of imagery from the screen.
* New utility application osgfilecache which can be used to populate the local cache for given lat/lon ranges and levels.
* Rewritten DatabasePager that now supports multiple database reading threads. This includes handling of HTTP requests via a separate reading thread, vastly improving the speed of updates when handling HTTP hosted databases that have already partially been downloaded to local file cache.
* Support for a file cache for locally caching paged databases hosted over HTTP.
* Support for http authentication in osgDB and the libcurl plugin
* New osgconv --format <fmt>, --formats and --plugins command line options for listing available plugins and the file formats/options they support.
* Performance improvements in handling TerraPage.
* Animated GIF support.
* New SVG image loader.
* Improvements to the .obj loader to support a wider range of .obj files and material properties.
* Support for thread safe Atomic reference counting.
* Support for COLLADA DOM 2.x
* Support for Philips WOWvx 3D auto-stereoscopic displays
* New include/osg/Config and include/OpenThreads/Config configuration files, that are automatically generated by CMake, which make more straight forward to build end users applications against OpenSceneGraph versions built with non default build options.
* Support for CMake 2.6
* A wide range of build and bug fixes
=== Downloads and Licensing ===
!OpenSceneGraph is open-source so full source code is provided, and can be copied, modified and used free of charge for commercial and non-commercial use. Access to the source allows end users greater flexibility in how they develop, debug and deploy their applications. They gain productivity and freedom by being able to leverage the tool chain in accordance with their own release cycles. Downloads of binaries and source can be found in the [http://www.openscenegraph.org/projects/osg/wiki/Downloads Downloads] section of the openscenegraph.org website.
!OpenSceneGraph is released under the [http://www.openscenegraph.org/projects/osg/wiki/Legal OpenSceneGraph Public License], which is based on the Lesser GNU Public License (LGPL), permitting the software to be used free of charge across the full spectrum of commercial and open-source applications. Furthermore, it allows both static and dynamic linking of the !OpenSceneGraph libraries without restricting the licensing of the user's software.
=== !OpenSceneGraph Books now available ===
The !OpenSceneGraph Quick Start Guide is now available in Chinese as well as English, and alongside the Reference Manual books can be found at [http://www.osgbooks.com OsgBooks].
=== Professional support and services ===
!OpenSceneGraph project is backed up with professional services by [http://openscenegraph.com OpenSceneGraph Professional Services], based in Scotland, and [http://www.skew-matrix.com Skew-Matrix] and [http://www.blue-newt.com Blue-Newt Software] both based in the USA, and a range of [wiki:Community/Contractors Contractors] from around the world. Services available include:
* Confidential Professional Support
* Bespoke development
* Consultancy
* Training
=== Community support and contributions ===
The diverse and growing community of over 1900 developers is centred around the public osg-users mailing list, where members discuss how best to use !OpenSceneGraph, provide mutual support, and coordinate development of new features and bug fixes. Members of this community come from many different countries with backgrounds ranging from some of the world's largest aerospace companies, game companies, and visual simulation specialists to university researchers, students and hobbyists.
The !OpenSceneGraph project owes a great deal to the community for its development and support, in particular we wish to thank the [http://www.openscenegraph.org/projects/osg/wiki/Support/Contributors/TwoPointSix 324 individuals] from around the world that have directly contributed to the development and refinement of the !OpenSceneGraph code base.
----
About !OpenSceneGraph:[[BR]]
!OpenSceneGraph Project was founded in September 1999 by Don Burns and Robert Osfield.
Further information, screenshots, downloads, documentation, and support links can be found on the !OpenSceneGraph project website http://www.openscenegraph.org.
About !OpenSceneGraph Professional Services:[[BR]]
!OpenSceneGraph Professional Services, founded by project lead Robert Osfield in April 2001, is based in Callander, Perhshire, Scotland, and provides professional services on top of !OpenSceneGraph. Further information about the services it provides can be found at http://www.openscenegraph.com.
----------------------------------------------------------------------------------------
= !OpenSceneGraph 2.4 release adds geometry shaders, multiple render targets, support for terrabyte scale terrain databases, writing to !OpenFlight and much more. =
PERTHSHIRE, Scotland - 25th April 2008 - !OpenSceneGraph Professional Services announces the release of !OpenSceneGraph 2.4, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. !OpenSceneGraph 2.4 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. !OpenSceneGraph 2.4 runs on all Microsoft Windows platforms, Apple OS/X, GNU/Linux, IRIX, Solaris, HP-UX, AIX and FreeBSD operating systems.
=== Open-source development delivers industry-leading features and performance ===
The !OpenSceneGraph 2.4 release is the culmination of 9 years of work by the lead developers and the open-source community that has grown up around the project. The real-time graphics industry and academia embraced it from the very beginning, deploying it in real-world applications, and actively participating in its development, testing and refinement. The end result is a high-quality library with a feature set relevant to application developers' needs.
=== Updates include: ===
* Support for OpenGL Geometry shaders
* Support for OpenGL Multiple Render Targets extension to Frame Buffer Objects
* Support for OpenGL Occlussion Query extension
* New !OpenFlight writer
* New libcurl based plugin for reading http hosted databases
* Quicktime based reading of live video streams under Windows and OSX
* Better load balancing in database pager
* Improvements to osgTerrain for support of terrabyte scale whole earth terrain databases
* Additions to the Shapefile loader with .dbf attribute file, .proj projection file support and loading data as doubles
* Enhanced intersection functionality including double support for line intersections
* Parallel build support under Visual Studio
* Support for reading Producer .cfg viewer configuration files
* A wide range of build and bug fixes
=== Downloads and Licensing ===
!OpenSceneGraph is open-source so full source code is provided, and can be copied, modified and used free of charge for commercial and non-commercial use. Access to the source allows end users greater flexibility in how they develop, debug and deploy their applications. They gain productivity and freedom by being able to leverage the tool chain in accordance with their own release cycles. Downloads of binaries and source can be found in the [http://www.openscenegraph.org/projects/osg/wiki/Downloads Downloads] section of the openscenegraph.org website.
!OpenSceneGraph is released under the [http://www.openscenegraph.org/projects/osg/wiki/Legal OpenSceneGraph Public License], which is based on the Lesser GNU Public License (LGPL), permitting the software to be used free of charge across the full spectrum of commercial and open-source applications. Furthermore, it allows both static and dynamic linking of the !OpenSceneGraph libraries without restricting the licensing of the user's software.
=== !OpenSceneGraph Books now available ===
The !OpenSceneGraph Quick Start Guide is now available in Chinese as well as English, and alongside the Reference Manual books can be found at [http://www.osgbooks.com OsgBooks].
=== Professional support and services ===
!OpenSceneGraph project is backed up with professional services by [http://openscenegraph.com OpenSceneGraph Professional Services], based in Scotland, and [http://www.skew-matrix.com Skew-Matrix] and [http://www.blue-newt.com Blue-Newt Software] both based in the USA, and a range of [wiki:Community/Contractors Contractors] from around the world. Services available include:
* Confidential Professional Support
* Bespoke development
* Consultancy
* Training
=== Community support and contributions ===
The diverse and growing community of over 1800 developers is centred around the public osg-users mailing list, where members discuss how best to use !OpenSceneGraph, provide mutual support, and coordinate development of new features and bug fixes. Members of this community come from many different countries with backgrounds ranging from some of the world's largest aerospace companies, game companies, and visual simulation specialists to university researchers, students and hobbyists.
The !OpenSceneGraph project owes a great deal to the community for its development and support, in particular we wish to thank the [http://www.openscenegraph.org/projects/osg/wiki/Support/Contributors/TwoPointFour 306 individuals] from around the world that have directly contributed to the development and refinement of the !OpenSceneGraph code base.
----
About !OpenSceneGraph:[[BR]]
!OpenSceneGraph Project was founded in September 1999 by Don Burns and Robert Osfield.
Further information, screenshots, downloads, documentation, and support links can be found on the !OpenSceneGraph project website http://www.openscenegraph.org.
About !OpenSceneGraph Professional Services:[[BR]]
!OpenSceneGraph Professional Services, founded by project lead Robert Osfield in April 2001, is based in Callander, Perhshire, Scotland, and provides professional services on top of !OpenSceneGraph. Further information about the services it provides can be found at http://www.openscenegraph.com.
----------------------------------------------------------------------------------------
= OpenSceneGraph 2.2 release adds support for advanced displays, soft and parallel split shadow maps and easier builds =
PERTHSHIRE, Scotland - 4th October 2007 - !OpenSceneGraph Professional Services announces the release of !OpenSceneGraph 2.2, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. !OpenSceneGraph 2.2 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. !OpenSceneGraph 2.2 runs on all Microsoft Windows platforms, Apple OS/X, GNU/Linux, IRIX, Solaris, HP-UX, AIX and !FreeBSD operating systems.

View File

@@ -1,7 +0,0 @@
#ANDROID ROOT MAKEFILE
OSG_ROOT := $(call my-dir)
LOCAL_PATH := $(call my-dir)
OSG_ROOT := $(LOCAL_PATH)
OSGInclude := $(OSG_ROOT)/include/OpenThreads \
$(OSG_ROOT)/include/osg
include src/Android.mk

View File

@@ -1,27 +0,0 @@
#ANDROID makefile ${MODULE_NAME}
LOCAL_PATH := ${MODULE_DIR}
include $(CLEAR_VARS)
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_ARM_NEON := true
endif
LOCAL_CPP_EXTENSION := ${CPP_EXTENSION}
LOCAL_LDLIBS := ${MODULE_LIBS}
LOCAL_MODULE := ${MODULE_NAME}
LOCAL_SRC_FILES := ${MODULE_SOURCES}
LOCAL_C_INCLUDES := ${MODULE_INCLUDES}
LOCAL_CFLAGS := ${MODULE_FLAGS_C}
LOCAL_CPPFLAGS := ${MODULE_FLAGS_CPP}
#include $(BUILD_STATIC_LIBRARY)
include ${MODULE_BUILD_TYPE}

View File

@@ -1,17 +0,0 @@
#ANDROID makefile in src
SERIALIZER_ROOT := $(call my-dir)
LOCAL_PATH := $(call my-dir)
SERIALIZER_ROOT := $(LOCAL_PATH)
#include $(call all-subdir-makefiles)
include $(SERIALIZER_ROOT)/osg/Android.mk
include $(SERIALIZER_ROOT)/osgAnimation/Android.mk
include $(SERIALIZER_ROOT)/osgFX/Android.mk
include $(SERIALIZER_ROOT)/osgManipulator/Android.mk
include $(SERIALIZER_ROOT)/osgParticle/Android.mk
include $(SERIALIZER_ROOT)/osgShadow/Android.mk
include $(SERIALIZER_ROOT)/osgSim/Android.mk
include $(SERIALIZER_ROOT)/osgTerrain/Android.mk
include $(SERIALIZER_ROOT)/osgText/Android.mk
include $(SERIALIZER_ROOT)/osgVolume/Android.mk

View File

@@ -1,8 +0,0 @@
#ANDROID makefile in src
SRC_ROOT := $(call my-dir)
LOCAL_PATH := $(call my-dir)
SRC_ROOT := $(LOCAL_PATH)
$ENV{AND_OSG_LIB_PATHS}

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.openscenegraph"
android:versionCode="1"
android:versionName="1.0">
</manifest>

View File

@@ -1,15 +0,0 @@
#ANDROID APPLICATION MAKEFILE
APP_BUILD_SCRIPT := $(call my-dir)/Android.mk
APP_PROJECT_PATH := $(call my-dir)
APP_OPTIM := release
APP_PLATFORM := android-5
APP_STL := gnustl_static
APP_CPPFLAGS := -fexceptions -frtti
#APP_CPPFLAGS := -Os -mthumb-interwork -fno-short-enums
#APP_CPPFLAGS := -Wl,--no-undefined
APP_ABI := armeabi armeabi-v7a
APP_MODULES := $ENV{AND_OSG_LIB_NAMES}

View File

@@ -1,31 +0,0 @@
1 VERSIONINFO
FILEVERSION ${OPENSCENEGRAPH_MAJOR_VERSION}, ${OPENSCENEGRAPH_MINOR_VERSION}, ${OPENSCENEGRAPH_PATCH_VERSION}, ${OPENSCENEGRAPH_SOVERSION}
PRODUCTVERSION ${OPENSCENEGRAPH_MAJOR_VERSION}, ${OPENSCENEGRAPH_MINOR_VERSION}, ${OPENSCENEGRAPH_PATCH_VERSION}, ${OPENSCENEGRAPH_SOVERSION}
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x0L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "OpenSceneGraph Binary"
VALUE "FileVersion", "${OPENSCENEGRAPH_MAJOR_VERSION}, ${OPENSCENEGRAPH_MINOR_VERSION}, ${OPENSCENEGRAPH_PATCH_VERSION}, ${OPENSCENEGRAPH_SOVERSION}"
VALUE "InternalName", "OSG"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", ""
VALUE "ProductName", "OpenSceneGraph"
VALUE "ProductVersion", "${OPENSCENEGRAPH_MAJOR_VERSION}, ${OPENSCENEGRAPH_MINOR_VERSION}, ${OPENSCENEGRAPH_PATCH_VERSION}, ${OPENSCENEGRAPH_SOVERSION}"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View File

@@ -1,31 +0,0 @@
1 VERSIONINFO
FILEVERSION ${OPENTHREADS_MAJOR_VERSION}, ${OPENTHREADS_MINOR_VERSION}, ${OPENTHREADS_PATCH_VERSION}, ${OPENTHREADS_SOVERSION}
PRODUCTVERSION ${OPENTHREADS_MAJOR_VERSION}, ${OPENTHREADS_MINOR_VERSION}, ${OPENTHREADS_PATCH_VERSION}, ${OPENTHREADS_SOVERSION}
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x0L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "OPENTHREADS Binary"
VALUE "FileVersion", "${OPENTHREADS_MAJOR_VERSION}, ${OPENTHREADS_MINOR_VERSION}, ${OPENTHREADS_PATCH_VERSION}, ${OPENTHREADS_SOVERSION}"
VALUE "InternalName", "OSG"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", ""
VALUE "ProductName", "OPENTHREADS"
VALUE "ProductVersion", "${OPENTHREADS_MAJOR_VERSION}, ${OPENTHREADS_MINOR_VERSION}, ${OPENTHREADS_PATCH_VERSION}, ${OPENTHREADS_SOVERSION}"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View File

@@ -1,21 +0,0 @@
Mapping extensionless header files to C++ in Visual Studio
=============================================================================
Previous versions of the OSG included registry files which enabled syntax
highlighting for OSG's extensionless headers in Visual Studio. These are not
needed anymore, because starting with Visual Studio 2002 (7.0), there is a
setting that will map extensionless files to a certain language in the
options. This also works for the Express Editions.
1. Go to Tools-Options.
2. Open the Text Editor section, and click on File Extension.
3. At the bottom of the window, check the Map Extensionless Files To
checkbox, and select Microsoft Visual C++ in the list to the right.
Note that if you use this feature for other languages, you will have to
change it when needed. If that is too cumbersome you may want to generate
the registry files and do it that way instead. Please see the
.reg files in previous versions of OSG in the VisualStudio directory for
a guide on how to do that (hint: check the location of the registry key
to make sure the added values end up in the right place for your version
of Visual Studio).

View File

@@ -1,23 +0,0 @@
@echo off
REM This script provides a commandline shell properly configured to run OSG
REM executables directly from the OpenThreads/OpenSceneGraph source
REM trees.
REM mew 2004-07-16
cd ..\..
set PATH=%CD%\OpenThreads\bin\win32;%CD%\bin;%CD%\3rdParty\bin;%PATH%
set OSG_FILE_PATH=%CD%\OpenSceneGraph-Data;%OSG_FILE_PATH%
REM uncomment one of these for your desired notify level...
rem set OSG_NOTIFY_LEVEL=ALWAYS
rem set OSG_NOTIFY_LEVEL=FATAL
rem set OSG_NOTIFY_LEVEL=WARN
rem set OSG_NOTIFY_LEVEL=NOTICE
rem set OSG_NOTIFY_LEVEL=DEBUG
rem set OSG_NOTIFY_LEVEL=DEBUG_FP
rem set OSG_NOTIFY_LEVEL=INFO
TITLE osgShell
%COMSPEC% /K

View File

@@ -6,33 +6,16 @@ OpenSceneGraph website:
http://www.openscenegraph.org
For support subscribe to our public mailing list:
http://www.openscenegraph.org/projects/osg/wiki/MailingLists
or forum:
http://forum.openscenegraph.org/
For the impatient, we've included quick build instructions below, these
are are broken down is three parts:
1) General notes on building the OpenSceneGraph
2) OSX release notes
3) iOS release notes
If details below are not sufficient then head over to the openscenegraph.org
to the Documentation/GettingStarted and Documentation/PlatformSpecifics sections for
more indepth instructions.
For the impatient, read the simplified build notes below.
Robert Osfield.
Project Lead.
28th June 2011.
3rd October 2007.
--
Section 1. How to build the OpenSceneGraph
==========================================
How to build the OpenSceneGraph
===============================
The OpenSceneGraph uses the CMake build system to generate a
platform-specific build environment. CMake reads the CMakeLists.txt
@@ -78,137 +61,9 @@ system should help guide you through the process:
Under OSX you can either use the CMake build system above, or use the
Xcode projects that you will find in the OpenSceneGraph/Xcode
directory. See release notes on OSX CMake build below.
directory.
For further details on compilation, installation and platform-specific
information read "Getting Started" guide:
http://www.openscenegraph.org/projects/osg/wiki/Support/GettingStarted
Section 2. Release notes on OSX build, by Eric Sokolowsky, August 5, 2008
=========================================================================
There are several ways to compile OpenSceneGraph under OSX. The
recommended way is to use CMake 2.6 to generate Xcode projects, then use
Xcode to build the library. The default project will be able to build
Debug or Release libraries, examples, and sample applications. Here are
some key settings to consider when using CMake:
BUILD_OSG_EXAMPLES - By default this is turned off. Turn this setting on
to compile many great example programs.
CMAKE_OSX_ARCHITECTURES - Xcode can create applications, executables,
libraries, and frameworks that can be run on more than one architecture.
Use this setting to indicate the architectures on which to build OSG.
Possibilities include ppc, ppc64, i386, and x86_64. Building OSG using
either of the 64-bit options (ppc64 and x86_64) has its own caveats
below.
OSG_BUILD_APPLICATION_BUNDLES - Normally only executable binaries are
created for the examples and sample applications. Turn this option on if
you want to create real OSX .app bundles. There are caveats to creating
.app bundles, see below.
OSG_WINDOWING_SYSTEM - You have the choice to use Carbon or X11 when
building applications on OSX. Under Leopard and later, X11 applications,
when started, will automatically launch X11 when needed. However,
full-screen X11 applications will still show the menu bar at the top of
the screen. Since many parts of the Carbon user interface are not
64-bit, X11 is the only supported option for OSX applications compiled
for ppc64 or x86_64.
There is an Xcode directory in the base of the OSG software
distribution, but its future is limited, and will be discontinued once
the CMake project generator completely implements its functionality.
APPLICATION BUNDLES (.app bundles)
The example programs when built as application bundles only contain the
executable file. They do not contain the dependent libraries as would a
normal bundle, so they are not generally portable to other machines.
They also do not know where to find plugins. An environmental variable
OSG_LIBRARY_PATH may be set to point to the location where the plugin
.so files are located. OSG_FILE_PATH may be set to point to the location
where data files are located. Setting OSG_FILE_PATH to the
OpenSceneGraph-Data directory is very useful when testing OSG by running
the example programs.
Many of the example programs use command-line arguments. When
double-clicking on an application (or using the equivalent "open"
command on the command line) only those examples and applications that
do not require command-line arguments will successfully run. The
executable file within the .app bundle can be run from the command-line
if command-line arguments are needed.
64-BIT APPLICATION SUPPORT
OpenSceneGraph will not compile successfully when OSG_WINDOWING_SYSTEM is
Carbon and either x86_64 or ppc64 is selected under CMAKE_OSX_ARCHITECTURES,
as Carbon is a 32bit only API. A version of the osgviewer library written in
Cocoa is needed. However, OSG may be compiled under 64-bits if the X11
windowing system is selected. However, Two parts of the OSG default
distribution will not work with 64-bit X11: the osgviewerWX example
program and the osgdb_qt (Quicktime) plugin. These must be removed from
the Xcode project after Cmake generates it in order to compile with
64-bit architectures. The lack of the latter means that images such as
jpeg, tiff, png, and gif will not work, nor will animations dependent on
Quicktime. A new ImageIO-based plugin is being developed to handle the
still images, and a QTKit plugin will need to be developed to handle
animations.
Section 3. Release notes on iOS build, by Thomas Hoghart
=========================================================
* Run CMake with either OSG_BUILD_PLATFORM_IPHONE or OSG_BUILD_PLATFORM_IPHONE_SIMULATOR set:
$ mkdir build-iOS ; cd build-iOS
$ ccmake -DOSG_BUILD_PLATFORM_IPHONE_SIMULATOR=YES -G Xcode ..
* Check that CMAKE_OSX_ARCHITECTURE is i386 for the simulator or armv6;armv7 for the device
* Disable DYNAMIC_OPENSCENEGRAPH, DYNAMIC_OPENTHREADS
This will give us the static build we need for iPhone.
* Disable OSG_GL1_AVAILABLE, OSG_GL2_AVAILABLE, OSG_GL3_AVAILABLE,
OSG_GL_DISPLAYLISTS_AVAILABLE, OSG_GL_VERTEX_FUNCS_AVAILABLE
* Enable OSG_GLES1_AVAILABLE *OR* OSG_GLES2_AVAILABLE
* Ensure OSG_WINDOWING_SYSTEM is set to IOS
* Change FREETYPE include and library paths to an iPhone version
(OpenFrameworks has one bundled with its distribution)
* Ensure that CMake_OSX_SYSROOT points to your iOS SDK.
* Generate the Xcode project
* Open the Xcode project
$ open OpenSceneGraph.xcodeproj
* Under Sources -> osgDB, select FileUtils.cpp and open the 'Get Info' panel, change File Type
to source.cpp.objcpp
Here's an example for the command-line:
$ cmake -G Xcode \
-D OSG_BUILD_PLATFORM_IPHONE:BOOL=ON \
-D CMAKE_CXX_FLAGS:STRING="-ftree-vectorize -fvisibility-inlines-hidden -mno-thumb -arch armv6 -pipe -no-cpp-precomp -miphoneos-version-min=3.1 -mno-thumb" \
-D BUILD_OSG_APPLICATIONS:BOOL=OFF \
-D OSG_BUILD_FRAMEWORKS:BOOL=OFF \
-D OSG_WINDOWING_SYSTEM:STRING=IOS \
-D OSG_BUILD_PLATFORM_IPHONE:BOOL=ON \
-D CMAKE_OSX_ARCHITECTURES:STRING="armv6;armv7" \
-D CMAKE_OSX_SYSROOT:STRING=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk \
-D OSG_GL1_AVAILABLE:BOOL=OFF \
-D OSG_GL2_AVAILABLE:BOOL=OFF \
-D OSG_GLES1_AVAILABLE:BOOL=ON \
-D OSG_GL_DISPLAYLISTS_AVAILABLE:BOOL=OFF \
-D OSG_GL_FIXED_FUNCTION_AVAILABLE:BOOL=ON \
-D OSG_GL_LIBRARY_STATIC:BOOL=OFF \
-D OSG_GL_MATRICES_AVAILABLE:BOOL=ON \
-D OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE:BOOL=ON \
-D OSG_GL_VERTEX_FUNCS_AVAILABLE:BOOL=OFF \
-D DYNAMIC_OPENSCENEGRAPH:BOOL=OFF \
-D DYNAMIC_OPENTHREADS:BOOL=OFF .
Known issues:
* When Linking final app against ive plugin, you need to add -lz to
the 'Other linker flags' list.
* Apps and exes don't get created
* You can only select Simulator, or Device projects. In the XCode
project you will see both types but the sdk they link will
be the same.

201
VisualStudio/LANGEXT.DAT Normal file
View File

@@ -0,0 +1,201 @@
langext.dat - Map explicit filename to a language
[C/C++]
algorithm bitset cassert cctype cerrno cfloat ciso646 climits clocale cmath complex
csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype
deque exception fstream functional iomanip ios iosfwd iostream istream iterator
limits list locale map memory new numeric ostream queue
set sstream stack stdexcept streambuf string strstream typeinfo utility valarray vector
xcomplex xios xiosbase xlocale xlocinfo xlocmon xlocnum xloctime xmemory xstddef xstring xtree xutility
AccelOperator
AlphaFunc
AnimationPath
AnimationPathManipulator
ApplicationUsage
ArgumentParser
Array
Billboard
BlendFunc
BlinkSequence
BoundingBox
BoundingSphere
BoundsChecking
buffered_value
Camera
CameraManipulator
CenteredPlacer
ClearNode
ClipNode
ClipPlane
CollectOccludersVisitor
ColorMask
ColorMatrix
ConvexPlanarOccluder
ConvexPlanarPolygon
CopyOp
Counter
CubeMapGenerator
CullFace
CullingSet
CullStack
CullVisitor
DelaunayTriangulator
Depth
DisplayListVisitor
DisplayRequirementsVisitor
DisplaySettings
DOFTransform
DotOsgWrapper
Drawable
DrawPixels
DriveManipulator
DynamicLibrary
Emitter
Endian
EventAdapter
Export
fast_back_stack
Field
FieldReader
FieldReaderIterator
FileNameUtils
FileUtils
FlightManipulator
FluidFrictionOperator
Fog
Font
ForceOperator
FrameStamp
FrontFace
Geode
Geometry
GeoSet
GL
GLExtensions
GLU
Group
GUIActionAdapter
GUIEventAdapter
GUIEventHandler
GUIEventHandlerVisitor
HalfWayMapGenerator
HighlightMapGenerator
Image
Impostor
ImpostorSprite
Input
InsertImpostorsVisitor
Interpolator
IntersectVisitor
KeyboardMouseCallback
KeySwitchCameraManipulator
Light
LightModel
LightPoint
LightPointNode
LightSource
LinearInterpolator
LineSegment
LineStipple
LineWidth
LOD
Material
Math
Matrix
MatrixTransform
ModularEmitter
ModularProgram
MultiSegmentPlacer
Node
NodeCallback
NodeVisitor
Notify
Object
OccluderNode
Operator
Optimizer
OsgCameraGroup
OsgSceneHandler
Output
ParameterOutput
Particle
ParticleProcessor
ParticleSystem
ParticleSystemUpdater
PickVisitor
Placer
Plane
Point
PointPlacer
PolygonMode
PolygonOffset
PolygonStipple
Polytope
PositionAttitudeTransform
PrimitiveSet
Program
Projection
Quat
RadialShooter
RandomRateCounter
range
ReaderWriter
ReadFile
ref_ptr
Referenced
ReflectionMapGenerator
Registry
RenderBin
StateGraph
RenderLeaf
RenderStage
PositionalStateContianer
SceneView
Sector
SectorPlacer
SegmentPlacer
Sequence
SetSceneViewVisitor
ShadeModel
ShadowVolumeOccluder
Shape
ShapeDrawable
Shooter
SmoothingVisitor
State
StateAttribute
StateSet
StateSetManipulator
Statistics
Stencil
String
Switch
Tessellator
TexEnv
TexEnvCombine
TexGen
TexMat
Text
Texture
Texture1D
Texture2D
Texture3D
TextureCubeMap
TextureRectangle
Timer
TrackballManipulator
Transform
TransformCallback
TriangleFunctor
TriStripVisitor
UnitTestFramework
UpdateVisitor
VariableRateCounter
Vec2
Vec3
Vec4
Version
VertexProgram
Viewer
ViewerEventHandler
Viewport
WriteFile

View File

@@ -0,0 +1,93 @@
Detailed build documentation can be found on the OpenSceneGraph website at:
http://openscenegraph.org/osgwiki/pmwiki.php/PlatformSpecifics/VisualStudio
IMPORTANT NOTE: Whilst the OSG will compile cleanly with the basic VC++6.0
and its own STL implementation, the OSG will crash regularily due to bugs
in VC++6.0's STL. VC++6.0's STL is horribly broken and therefore is *NOT*
supported. Do not attempt to use the OSG in conjunction with native VC++6.0
STL implemention.
The supported combinations are:
1.Visual Studio8.x .NET
2.Visual Studio7.x .NET
Deprecated are:
3.Visual Studio6.0 + Dinkumware's STL bug fix patches
4.Visual Studio6.0 + STLport
For details on how to patch VisualStudio6.0 see the above website link.
Note, osgIntrospection, src/osgWrapper plugins and the
osgintrospection example cannot be compiled under VisualStudio plugin.
You will also need to run the fixup-vc6-dsps.pl script to clean up the
project files that won't otherwise compile to do new elements required
for support of Window 64 bit build under VS 7.x and 8.x.
Several of the plugins and examples require external dependancies. Full details on where to obtain
these can be found in doc/dependancies.html.
--
For syntax highlighting in VisualStudio which the standard C++ style headers
found in the OSG :
VisualStudio6.0
Substiture the LANDEXT.DAT file found in this directory with the one found
*\Common\MSDev98\Bin
VisualStudio7.x & 8.x/.NET
Install the syntaxhighlight.reg (just double click it). This will update
Extensionless file for Visual Studio. Don't worry, it will keep the
current extensionless files (STL ones) intact.
--
How to use the Visual Studio projects:
To build the OpenSceneGraph code in Visual Studio, you normally must use the VisualStudio.sln solution file provided. The individual projects won't build as-is, because they depend on each other and only the VisualStudio.sln file provides those dependencies.
To create a program based on an example, probably the easiest way is to do this:
1. Copy the VisualStudio.sln project to a new file in the same directory
2. Copy the project you want to base your new project on to a new directory in the same level of the directory tree
3. Open the new .sln file you copied in step 1
4. Remove unneeded projects from it, but keep the core libraries (osg, osgDB, etc.). Shift-clicking to select a bunch of projects at once makes this easier to do
5. Add the new project to that solution
6. Set the dependencies for your new project. This is most easily done by opening the Solution Properties dialog, going to Project Dependencies, and checking off the libraries your project depends on
--
Building 64 bit binaries
64 bit OpenSceneGraph and OpenThreads binaries can be built in Visual Studio 8, but several extra steps are required due to limits of the Visual Studio 6 project files:
1. For each of the OpenSceneGraph, and OpenThreads .dsw files, :
a. Open the .dsw or .sln file and convert all projects to VS 8 format.
b. Open the Configuration Manager window under the Build menu, bring up the New Solution Platform window by selecting <New...> in the Active solution platform drop-down menu. Select x64 as the new platform and copy settings from Win32 (you need to have the x64 compiler installed to see the x64 platform option). Ensure the Create new project platforms checkbox is selected. Click OK, then close the Configuration Manager window.
c. Do a "Save All" to save the project files.
2. Visual Studio unfortunately chooses its own Output Directory setting for the x64 configurations in step 1.b., and this must be reset to the Win32 setting.
IF PERL _IS_ INSTALLED (native or Cygwin), do the following:
a. Close all Visual Studio solutions.
b. Open a command shell and cd to the OpenSceneGraph/VisualStudio directory.
c. Run the command "perl reset-64bit-outdirs.pl".
d. Reopen the solutions.
IF PERL _IS NOT_ INSTALLED, do the following to accomplish the same thing manually:
a. In the OpenThreads solution, open the properties window for the OpenThreads project.
i. Select multiple configurations, Debug and Release. Under the General page, overwrite the Output Directory path of the x64 platform with the corresponding Win32 path. For static builds, do the same thing for the Debug Static and Release Static configurations.
b. In the OpenSceneGraph solution:
i. Select all the "Application" and "Example" projects in the Solution Explorer window and repeat step 2.a.i. Note there are no static configurations.
ii. Select all the "Core" projects _except "Core osgIntrospection"_ and repeat step 2.a.i.
iii. Select "Core osgIntrospection" and repeat step 2.a.i. Note there are no static configurations.
iv. Select all the "osgPlugin" projects and repeat step 2.a.i.
v. Select all the "osgWrapper" projects and repeat step 2.a.i. Note there are no static configurations.
c. Do a "Save All" to save the project files.
3. Select the desired x64 configuration, and build away!

View File

@@ -0,0 +1,33 @@
/* create_static_workspace - Copyright (C) 2006 Joran Jessurun
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*
* Made by Joran Jessurun (A.J.Jessurun@tue.nl)
*/
var fso=WScript.createObject("Scripting.FileSystemObject");
var ForReading=1;
var ForWriting=2;
WScript.echo("Creating OpenSceneGraphStatic.dsw from OpenSceneGraph.dsw");
var source=fso.openTextFile("OpenSceneGraph.dsw",ForReading);
var destin=fso.openTextFile("OpenSceneGraphStatic.dsw",ForWriting,true);
var state=0; // 0=copy, 1=skip
while(!source.atEndOfStream) {
line=source.readLine();
if(/Begin Project Dependency/.test(line)) state=1;
if(state==0) destin.writeLine(line);
if(/End Project Dependency/.test(line)) state=0;
}
source.close();
destin.close();
WScript.echo("Done");

View File

@@ -0,0 +1,339 @@
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0\Languages\Extensionless Files\{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}]
"AccelOperator"=""
"AlphaFunc"=""
"AngularAccelOperator"=""
"AnimationPath"=""
"AnimationPathManipulator"=""
"AnisotropicLighting"=""
"ApplicationUsage"=""
"Archive"=""
"ArgumentParser"=""
"Array"=""
"Attributes"=""
"AutoTransform"=""
"Billboard"=""
"BlendColor"=""
"BlendEquation"=""
"BlendFunc"=""
"BlinkSequence"=""
"BoundingBox"=""
"BoundingSphere"=""
"BoundsChecking"=""
"buffered_value"=""
"BufferObject"=""
"BumpMapping"=""
"Camera"=""
"CameraView"=""
"Cartoon"=""
"CenteredPlacer"=""
"ClearNode"=""
"ClipNode"=""
"ClipPlane"=""
"ClusterCullingCallback"=""
"CollectOccludersVisitor"=""
"ColorMask"=""
"ColorMatrix"=""
"ColorRange"=""
"Comparator"=""
"CompositeViewer"=""
"ConnectedParticleSystem"=""
"ConstantRateCounter"=""
"ConstructorInfo"=""
"Converter"=""
"ConverterProxy"=""
"ConvexPlanarOccluder"=""
"ConvexPlanarPolygon"=""
"CoordinateSystemNode"=""
"CopyOp"=""
"Counter"=""
"CubeMapGenerator"=""
"CullFace"=""
"CullingSet"=""
"CullSettings"=""
"CullStack"=""
"CullVisitor"=""
"CustomAttribute"=""
"CustomAttributeProvider"=""
"DatabasePager"=""
"DelaunayTriangulator"=""
"Depth"=""
"DisplayRequirementsVisitor"=""
"DisplaySettings"=""
"DOFTransform"=""
"DotOsgWrapper"=""
"Drawable"=""
"DrawPixels"=""
"DriveManipulator"=""
"DynamicLibrary"=""
"Effect"=""
"Emitter"=""
"Endian"=""
"EventAdapter"=""
"EventVisitor"=""
"Exceptions"=""
"ExplosionDebrisEffect"=""
"ExplosionEffect"=""
"Export"=""
"fast_back_stack"=""
"Field"=""
"FieldReader"=""
"FieldReaderIterator"=""
"FileNameUtils"=""
"FileUtils"=""
"FireEffect"=""
"FlightManipulator"=""
"FluidFrictionOperator"=""
"FluidProgram"=""
"Fog"=""
"Font"=""
"ForceOperator"=""
"FragmentProgram"=""
"FrameBufferObject"=""
"FrameStamp"=""
"FrontFace"=""
"Geode"=""
"GeographicLocation"=""
"Geometry"=""
"GL"=""
"GL2Extensions"=""
"GLExtensions"=""
"GLObjectsVisitor"=""
"GLU"=""
"GraphicsContext"=""
"GraphicsContextImplementation"=""
"GraphicsThread"=""
"GraphicsWindow"=""
"GraphicsWindowWin32"=""
"Group"=""
"GUIActionAdapter"=""
"GUIEventAdapter"=""
"GUIEventHandler"=""
"GUIEventHandlerVisitor"=""
"HalfWayMapGenerator"=""
"HelpHandler"=""
"HeightFieldNode"=""
"HeightFieldRenderer"=""
"HighlightMapGenerator"=""
"Image"=""
"ImageOptions"=""
"ImageStream"=""
"Impostor"=""
"ImpostorSprite"=""
"Input"=""
"InsertImpostorsVisitor"=""
"InstanceCreator"=""
"Interpolator"=""
"IntersectVisitor"=""
"io_utils"=""
"KeyboardMouseCallback"=""
"KeySwitchMatrixManipulator"=""
"Light"=""
"LightModel"=""
"LightPoint"=""
"LightPointNode"=""
"LightPointSystem"=""
"LightSource"=""
"LinearInterpolator"=""
"LineSegment"=""
"LineStipple"=""
"LineWidth"=""
"LOD"=""
"LogicOp"=""
"Material"=""
"Math"=""
"Matrix"=""
"Matrixd"=""
"Matrixf"=""
"MatrixManipulator"=""
"MatrixTransform"=""
"MethodInfo"=""
"ModularEmitter"=""
"ModularProgram"=""
"Multisample"=""
"MultiSegmentPlacer"=""
"MultiSwitch"=""
"MultiTextureControl"=""
"Node"=""
"NodeCallback"=""
"NodeTrackerCallback"=""
"NodeTrackerManipulator"=""
"NodeVisitor"=""
"Notify"=""
"Object"=""
"OccluderNode"=""
"Operator"=""
"Optimizer"=""
"OsgCameraGroup"=""
"OsgSceneHandler"=""
"Output"=""
"OverlayNode"=""
"PagedLOD"=""
"ParameterInfo"=""
"ParameterOutput"=""
"Particle"=""
"ParticleEffect"=""
"ParticleProcessor"=""
"ParticleSystem"=""
"ParticleSystemUpdater"=""
"Placer"=""
"Plane"=""
"Point"=""
"PointPlacer"=""
"PointSprite"=""
"PolygonMode"=""
"PolygonOffset"=""
"PolygonStipple"=""
"Polytope"=""
"PositionalStateContainer"=""
"PositionAttitudeTransform"=""
"PrimitiveSet"=""
"Program"=""
"Program"=""
"Projection"=""
"PropertyInfo"=""
"ProxyNode"=""
"Quat"=""
"RadialShooter"=""
"RandomRateCounter"=""
"range"=""
"ReaderWriter"=""
"ReadFile"=""
"ReentrantMutex"=""
"ref_ptr"=""
"Referenced"=""
"Reflection"=""
"ReflectionMacros"=""
"ReflectionMapGenerator"=""
"Reflector"=""
"Registry"=""
"RenderBin"=""
"RenderLeaf"=""
"RenderStage"=""
"ScalarBar"=""
"ScalarsToColors"=""
"Scene"=""
"SceneView"=""
"Scissor"=""
"Scribe"=""
"Sector"=""
"SectorPlacer"=""
"SegmentPlacer"=""
"Sequence"=""
"SetSceneViewVisitor"=""
"ShadeModel"=""
"Shader"=""
"ShadowVolumeOccluder"=""
"Shape"=""
"ShapeDrawable"=""
"SharedStateManager"=""
"Shooter"=""
"SimpleViewer"=""
"Simplifier"=""
"SmokeEffect"=""
"SmokeTrailEffect"=""
"SmoothingVisitor"=""
"SpecularHighlights"=""
"SphereSegment"=""
"State"=""
"StateAttribute"=""
"StateGraph"=""
"StateSet"=""
"StateSetManipulator"=""
"StaticMethodInfo"=""
"Statistics"=""
"StatsHandler"=""
"Stencil"=""
"String"=""
"Switch"=""
"TangentSpaceGenerator"=""
"Technique"=""
"TerrainManipulator"=""
"Tessellator"=""
"TexEnv"=""
"TexEnvCombine"=""
"TexEnvFilter"=""
"TexGen"=""
"TexGenNode"=""
"TexMat"=""
"Text"=""
"Texture"=""
"Texture1D"=""
"Texture2D"=""
"Texture3D"=""
"TextureCubeMap"=""
"TextureRectangle"=""
"Timer"=""
"TrackballManipulator"=""
"Transform"=""
"TransformAttributeFunctor"=""
"TransformCallback"=""
"TriangleFunctor"=""
"TriangleIndexFunctor"=""
"TriStripVisitor"=""
"Type"=""
"TypedConstructorInfo"=""
"TypedMethodInfo"=""
"TypeNameAliasProxy"=""
"UFOManipulator"=""
"Uniform"=""
"UnitTestFramework"=""
"UpdateVisitor"=""
"Utility"=""
"Validator"=""
"Value"=""
"VariableRateCounter"=""
"variant_cast"=""
"Vec2"=""
"Vec2b"=""
"Vec2d"=""
"Vec2f"=""
"Vec2s"=""
"Vec3"=""
"Vec3b"=""
"Vec3d"=""
"Vec3f"=""
"Vec3s"=""
"Vec4"=""
"Vec4b"=""
"Vec4d"=""
"Vec4f"=""
"Vec4s"=""
"Vec4ub"=""
"Version"=""
"VertexProgram"=""
"View"=""
"Viewer"=""
"ViewerEventHandler"=""
"Viewport"=""
"VisibilityGroup"=""
"WriteFile"=""
"Block"=""
"BlockingQueue"=""
"Camera"=""
"CameraConfig"=""
"CameraGroup"=""
"Events"=""
"Export"=""
"InputArea"=""
"Keyboard"=""
"KeyboardMouse"=""
"Math"=""
"Referenced"=""
"RefOpenThreads"=""
"RenderSurface"=""
"Timer"=""
"Trackball"=""
"Types"=""
"Version"=""
"Window3D"=""
"VisualChooser"=""
"Barrier"=""
"Condition"=""
"Exports"=""
"Mutex"=""
"ScopedLock"=""
"Thread"=""

View File

@@ -0,0 +1,339 @@
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Languages\Extensionless Files\{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}]
"AccelOperator"=""
"AlphaFunc"=""
"AngularAccelOperator"=""
"AnimationPath"=""
"AnimationPathManipulator"=""
"AnisotropicLighting"=""
"ApplicationUsage"=""
"Archive"=""
"ArgumentParser"=""
"Array"=""
"Attributes"=""
"AutoTransform"=""
"Billboard"=""
"BlendColor"=""
"BlendEquation"=""
"BlendFunc"=""
"BlinkSequence"=""
"BoundingBox"=""
"BoundingSphere"=""
"BoundsChecking"=""
"buffered_value"=""
"BufferObject"=""
"BumpMapping"=""
"Camera"=""
"CameraView"=""
"Cartoon"=""
"CenteredPlacer"=""
"ClearNode"=""
"ClipNode"=""
"ClipPlane"=""
"ClusterCullingCallback"=""
"CollectOccludersVisitor"=""
"ColorMask"=""
"ColorMatrix"=""
"ColorRange"=""
"Comparator"=""
"CompositeViewer"=""
"ConnectedParticleSystem"=""
"ConstantRateCounter"=""
"ConstructorInfo"=""
"Converter"=""
"ConverterProxy"=""
"ConvexPlanarOccluder"=""
"ConvexPlanarPolygon"=""
"CoordinateSystemNode"=""
"CopyOp"=""
"Counter"=""
"CubeMapGenerator"=""
"CullFace"=""
"CullingSet"=""
"CullSettings"=""
"CullStack"=""
"CullVisitor"=""
"CustomAttribute"=""
"CustomAttributeProvider"=""
"DatabasePager"=""
"DelaunayTriangulator"=""
"Depth"=""
"DisplayRequirementsVisitor"=""
"DisplaySettings"=""
"DOFTransform"=""
"DotOsgWrapper"=""
"Drawable"=""
"DrawPixels"=""
"DriveManipulator"=""
"DynamicLibrary"=""
"Effect"=""
"Emitter"=""
"Endian"=""
"EventAdapter"=""
"EventVisitor"=""
"Exceptions"=""
"ExplosionDebrisEffect"=""
"ExplosionEffect"=""
"Export"=""
"fast_back_stack"=""
"Field"=""
"FieldReader"=""
"FieldReaderIterator"=""
"FileNameUtils"=""
"FileUtils"=""
"FireEffect"=""
"FlightManipulator"=""
"FluidFrictionOperator"=""
"FluidProgram"=""
"Fog"=""
"Font"=""
"ForceOperator"=""
"FragmentProgram"=""
"FrameBufferObject"=""
"FrameStamp"=""
"FrontFace"=""
"Geode"=""
"GeographicLocation"=""
"Geometry"=""
"GL"=""
"GL2Extensions"=""
"GLExtensions"=""
"GLObjectsVisitor"=""
"GLU"=""
"GraphicsContext"=""
"GraphicsContextImplementation"=""
"GraphicsThread"=""
"GraphicsWindow"=""
"GraphicsWindowWin32"=""
"Group"=""
"GUIActionAdapter"=""
"GUIEventAdapter"=""
"GUIEventHandler"=""
"GUIEventHandlerVisitor"=""
"HalfWayMapGenerator"=""
"HelpHandler"=""
"HeightFieldNode"=""
"HeightFieldRenderer"=""
"HighlightMapGenerator"=""
"Image"=""
"ImageOptions"=""
"ImageStream"=""
"Impostor"=""
"ImpostorSprite"=""
"Input"=""
"InsertImpostorsVisitor"=""
"InstanceCreator"=""
"Interpolator"=""
"IntersectVisitor"=""
"io_utils"=""
"KeyboardMouseCallback"=""
"KeySwitchMatrixManipulator"=""
"Light"=""
"LightModel"=""
"LightPoint"=""
"LightPointNode"=""
"LightPointSystem"=""
"LightSource"=""
"LinearInterpolator"=""
"LineSegment"=""
"LineStipple"=""
"LineWidth"=""
"LOD"=""
"LogicOp"=""
"Material"=""
"Math"=""
"Matrix"=""
"Matrixd"=""
"Matrixf"=""
"MatrixManipulator"=""
"MatrixTransform"=""
"MethodInfo"=""
"ModularEmitter"=""
"ModularProgram"=""
"Multisample"=""
"MultiSegmentPlacer"=""
"MultiSwitch"=""
"MultiTextureControl"=""
"Node"=""
"NodeCallback"=""
"NodeTrackerCallback"=""
"NodeTrackerManipulator"=""
"NodeVisitor"=""
"Notify"=""
"Object"=""
"OccluderNode"=""
"Operator"=""
"Optimizer"=""
"OsgCameraGroup"=""
"OsgSceneHandler"=""
"Output"=""
"OverlayNode"=""
"PagedLOD"=""
"ParameterInfo"=""
"ParameterOutput"=""
"Particle"=""
"ParticleEffect"=""
"ParticleProcessor"=""
"ParticleSystem"=""
"ParticleSystemUpdater"=""
"Placer"=""
"Plane"=""
"Point"=""
"PointPlacer"=""
"PointSprite"=""
"PolygonMode"=""
"PolygonOffset"=""
"PolygonStipple"=""
"Polytope"=""
"PositionalStateContainer"=""
"PositionAttitudeTransform"=""
"PrimitiveSet"=""
"Program"=""
"Program"=""
"Projection"=""
"PropertyInfo"=""
"ProxyNode"=""
"Quat"=""
"RadialShooter"=""
"RandomRateCounter"=""
"range"=""
"ReaderWriter"=""
"ReadFile"=""
"ReentrantMutex"=""
"ref_ptr"=""
"Referenced"=""
"Reflection"=""
"ReflectionMacros"=""
"ReflectionMapGenerator"=""
"Reflector"=""
"Registry"=""
"RenderBin"=""
"RenderLeaf"=""
"RenderStage"=""
"ScalarBar"=""
"ScalarsToColors"=""
"Scene"=""
"SceneView"=""
"Scissor"=""
"Scribe"=""
"Sector"=""
"SectorPlacer"=""
"SegmentPlacer"=""
"Sequence"=""
"SetSceneViewVisitor"=""
"ShadeModel"=""
"Shader"=""
"ShadowVolumeOccluder"=""
"Shape"=""
"ShapeDrawable"=""
"SharedStateManager"=""
"Shooter"=""
"SimpleViewer"=""
"Simplifier"=""
"SmokeEffect"=""
"SmokeTrailEffect"=""
"SmoothingVisitor"=""
"SpecularHighlights"=""
"SphereSegment"=""
"State"=""
"StateAttribute"=""
"StateGraph"=""
"StateSet"=""
"StateSetManipulator"=""
"StaticMethodInfo"=""
"Statistics"=""
"StatsHandler"=""
"Stencil"=""
"String"=""
"Switch"=""
"TangentSpaceGenerator"=""
"Technique"=""
"TerrainManipulator"=""
"Tessellator"=""
"TexEnv"=""
"TexEnvCombine"=""
"TexEnvFilter"=""
"TexGen"=""
"TexGenNode"=""
"TexMat"=""
"Text"=""
"Texture"=""
"Texture1D"=""
"Texture2D"=""
"Texture3D"=""
"TextureCubeMap"=""
"TextureRectangle"=""
"Timer"=""
"TrackballManipulator"=""
"Transform"=""
"TransformAttributeFunctor"=""
"TransformCallback"=""
"TriangleFunctor"=""
"TriangleIndexFunctor"=""
"TriStripVisitor"=""
"Type"=""
"TypedConstructorInfo"=""
"TypedMethodInfo"=""
"TypeNameAliasProxy"=""
"UFOManipulator"=""
"Uniform"=""
"UnitTestFramework"=""
"UpdateVisitor"=""
"Utility"=""
"Validator"=""
"Value"=""
"VariableRateCounter"=""
"variant_cast"=""
"Vec2"=""
"Vec2b"=""
"Vec2d"=""
"Vec2f"=""
"Vec2s"=""
"Vec3"=""
"Vec3b"=""
"Vec3d"=""
"Vec3f"=""
"Vec3s"=""
"Vec4"=""
"Vec4b"=""
"Vec4d"=""
"Vec4f"=""
"Vec4s"=""
"Vec4ub"=""
"Version"=""
"VertexProgram"=""
"View"=""
"Viewer"=""
"ViewerEventHandler"=""
"Viewport"=""
"VisibilityGroup"=""
"WriteFile"=""
"Block"=""
"BlockingQueue"=""
"Camera"=""
"CameraConfig"=""
"CameraGroup"=""
"Events"=""
"Export"=""
"InputArea"=""
"Keyboard"=""
"KeyboardMouse"=""
"Math"=""
"Referenced"=""
"RefOpenThreads"=""
"RenderSurface"=""
"Timer"=""
"Trackball"=""
"Types"=""
"Version"=""
"Window3D"=""
"VisualChooser"=""
"Barrier"=""
"Condition"=""
"Exports"=""
"Mutex"=""
"ScopedLock"=""
"Thread"=""

View File

@@ -0,0 +1,339 @@
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Languages\Extensionless Files\{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}]
"AccelOperator"=""
"AlphaFunc"=""
"AngularAccelOperator"=""
"AnimationPath"=""
"AnimationPathManipulator"=""
"AnisotropicLighting"=""
"ApplicationUsage"=""
"Archive"=""
"ArgumentParser"=""
"Array"=""
"Attributes"=""
"AutoTransform"=""
"Billboard"=""
"BlendColor"=""
"BlendEquation"=""
"BlendFunc"=""
"BlinkSequence"=""
"BoundingBox"=""
"BoundingSphere"=""
"BoundsChecking"=""
"buffered_value"=""
"BufferObject"=""
"BumpMapping"=""
"Camera"=""
"CameraView"=""
"Cartoon"=""
"CenteredPlacer"=""
"ClearNode"=""
"ClipNode"=""
"ClipPlane"=""
"ClusterCullingCallback"=""
"CollectOccludersVisitor"=""
"ColorMask"=""
"ColorMatrix"=""
"ColorRange"=""
"Comparator"=""
"CompositeViewer"=""
"ConnectedParticleSystem"=""
"ConstantRateCounter"=""
"ConstructorInfo"=""
"Converter"=""
"ConverterProxy"=""
"ConvexPlanarOccluder"=""
"ConvexPlanarPolygon"=""
"CoordinateSystemNode"=""
"CopyOp"=""
"Counter"=""
"CubeMapGenerator"=""
"CullFace"=""
"CullingSet"=""
"CullSettings"=""
"CullStack"=""
"CullVisitor"=""
"CustomAttribute"=""
"CustomAttributeProvider"=""
"DatabasePager"=""
"DelaunayTriangulator"=""
"Depth"=""
"DisplayRequirementsVisitor"=""
"DisplaySettings"=""
"DOFTransform"=""
"DotOsgWrapper"=""
"Drawable"=""
"DrawPixels"=""
"DriveManipulator"=""
"DynamicLibrary"=""
"Effect"=""
"Emitter"=""
"Endian"=""
"EventAdapter"=""
"EventVisitor"=""
"Exceptions"=""
"ExplosionDebrisEffect"=""
"ExplosionEffect"=""
"Export"=""
"fast_back_stack"=""
"Field"=""
"FieldReader"=""
"FieldReaderIterator"=""
"FileNameUtils"=""
"FileUtils"=""
"FireEffect"=""
"FlightManipulator"=""
"FluidFrictionOperator"=""
"FluidProgram"=""
"Fog"=""
"Font"=""
"ForceOperator"=""
"FragmentProgram"=""
"FrameBufferObject"=""
"FrameStamp"=""
"FrontFace"=""
"Geode"=""
"GeographicLocation"=""
"Geometry"=""
"GL"=""
"GL2Extensions"=""
"GLExtensions"=""
"GLObjectsVisitor"=""
"GLU"=""
"GraphicsContext"=""
"GraphicsContextImplementation"=""
"GraphicsThread"=""
"GraphicsWindow"=""
"GraphicsWindowWin32"=""
"Group"=""
"GUIActionAdapter"=""
"GUIEventAdapter"=""
"GUIEventHandler"=""
"GUIEventHandlerVisitor"=""
"HalfWayMapGenerator"=""
"HelpHandler"=""
"HeightFieldNode"=""
"HeightFieldRenderer"=""
"HighlightMapGenerator"=""
"Image"=""
"ImageOptions"=""
"ImageStream"=""
"Impostor"=""
"ImpostorSprite"=""
"Input"=""
"InsertImpostorsVisitor"=""
"InstanceCreator"=""
"Interpolator"=""
"IntersectVisitor"=""
"io_utils"=""
"KeyboardMouseCallback"=""
"KeySwitchMatrixManipulator"=""
"Light"=""
"LightModel"=""
"LightPoint"=""
"LightPointNode"=""
"LightPointSystem"=""
"LightSource"=""
"LinearInterpolator"=""
"LineSegment"=""
"LineStipple"=""
"LineWidth"=""
"LOD"=""
"LogicOp"=""
"Material"=""
"Math"=""
"Matrix"=""
"Matrixd"=""
"Matrixf"=""
"MatrixManipulator"=""
"MatrixTransform"=""
"MethodInfo"=""
"ModularEmitter"=""
"ModularProgram"=""
"Multisample"=""
"MultiSegmentPlacer"=""
"MultiSwitch"=""
"MultiTextureControl"=""
"Node"=""
"NodeCallback"=""
"NodeTrackerCallback"=""
"NodeTrackerManipulator"=""
"NodeVisitor"=""
"Notify"=""
"Object"=""
"OccluderNode"=""
"Operator"=""
"Optimizer"=""
"OsgCameraGroup"=""
"OsgSceneHandler"=""
"Output"=""
"OverlayNode"=""
"PagedLOD"=""
"ParameterInfo"=""
"ParameterOutput"=""
"Particle"=""
"ParticleEffect"=""
"ParticleProcessor"=""
"ParticleSystem"=""
"ParticleSystemUpdater"=""
"Placer"=""
"Plane"=""
"Point"=""
"PointPlacer"=""
"PointSprite"=""
"PolygonMode"=""
"PolygonOffset"=""
"PolygonStipple"=""
"Polytope"=""
"PositionalStateContainer"=""
"PositionAttitudeTransform"=""
"PrimitiveSet"=""
"Program"=""
"Program"=""
"Projection"=""
"PropertyInfo"=""
"ProxyNode"=""
"Quat"=""
"RadialShooter"=""
"RandomRateCounter"=""
"range"=""
"ReaderWriter"=""
"ReadFile"=""
"ReentrantMutex"=""
"ref_ptr"=""
"Referenced"=""
"Reflection"=""
"ReflectionMacros"=""
"ReflectionMapGenerator"=""
"Reflector"=""
"Registry"=""
"RenderBin"=""
"RenderLeaf"=""
"RenderStage"=""
"ScalarBar"=""
"ScalarsToColors"=""
"Scene"=""
"SceneView"=""
"Scissor"=""
"Scribe"=""
"Sector"=""
"SectorPlacer"=""
"SegmentPlacer"=""
"Sequence"=""
"SetSceneViewVisitor"=""
"ShadeModel"=""
"Shader"=""
"ShadowVolumeOccluder"=""
"Shape"=""
"ShapeDrawable"=""
"SharedStateManager"=""
"Shooter"=""
"SimpleViewer"=""
"Simplifier"=""
"SmokeEffect"=""
"SmokeTrailEffect"=""
"SmoothingVisitor"=""
"SpecularHighlights"=""
"SphereSegment"=""
"State"=""
"StateAttribute"=""
"StateGraph"=""
"StateSet"=""
"StateSetManipulator"=""
"StaticMethodInfo"=""
"Statistics"=""
"StatsHandler"=""
"Stencil"=""
"String"=""
"Switch"=""
"TangentSpaceGenerator"=""
"Technique"=""
"TerrainManipulator"=""
"Tessellator"=""
"TexEnv"=""
"TexEnvCombine"=""
"TexEnvFilter"=""
"TexGen"=""
"TexGenNode"=""
"TexMat"=""
"Text"=""
"Texture"=""
"Texture1D"=""
"Texture2D"=""
"Texture3D"=""
"TextureCubeMap"=""
"TextureRectangle"=""
"Timer"=""
"TrackballManipulator"=""
"Transform"=""
"TransformAttributeFunctor"=""
"TransformCallback"=""
"TriangleFunctor"=""
"TriangleIndexFunctor"=""
"TriStripVisitor"=""
"Type"=""
"TypedConstructorInfo"=""
"TypedMethodInfo"=""
"TypeNameAliasProxy"=""
"UFOManipulator"=""
"Uniform"=""
"UnitTestFramework"=""
"UpdateVisitor"=""
"Utility"=""
"Validator"=""
"Value"=""
"VariableRateCounter"=""
"variant_cast"=""
"Vec2"=""
"Vec2b"=""
"Vec2d"=""
"Vec2f"=""
"Vec2s"=""
"Vec3"=""
"Vec3b"=""
"Vec3d"=""
"Vec3f"=""
"Vec3s"=""
"Vec4"=""
"Vec4b"=""
"Vec4d"=""
"Vec4f"=""
"Vec4s"=""
"Vec4ub"=""
"Version"=""
"VertexProgram"=""
"View"=""
"Viewer"=""
"ViewerEventHandler"=""
"Viewport"=""
"VisibilityGroup"=""
"WriteFile"=""
"Block"=""
"BlockingQueue"=""
"Camera"=""
"CameraConfig"=""
"CameraGroup"=""
"Events"=""
"Export"=""
"InputArea"=""
"Keyboard"=""
"KeyboardMouse"=""
"Math"=""
"Referenced"=""
"RefOpenThreads"=""
"RenderSurface"=""
"Timer"=""
"Trackball"=""
"Types"=""
"Version"=""
"Window3D"=""
"VisualChooser"=""
"Barrier"=""
"Condition"=""
"Exports"=""
"Mutex"=""
"ScopedLock"=""
"Thread"=""

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 870 B

After

Width:  |  Height:  |  Size: 870 B

View File

Before

Width:  |  Height:  |  Size: 314 B

After

Width:  |  Height:  |  Size: 314 B

View File

Before

Width:  |  Height:  |  Size: 745 B

After

Width:  |  Height:  |  Size: 745 B

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 525 B

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 775 B

After

Width:  |  Height:  |  Size: 775 B

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

23
VisualStudio/osgShell.bat Normal file
View File

@@ -0,0 +1,23 @@
@echo off
REM This script provides a commandline shell properly configured to run OSG
REM executables directly from the OpenThreads/OpenSceneGraph source
REM trees.
REM mew 2004-07-16
cd ..\..
set PATH=%CD%\OpenThreads\bin\win32;%CD%\OpenSceneGraph\bin\win32;%CD%\3rdParty\bin;%PATH%
set OSG_FILE_PATH=%CD%\OpenSceneGraph-Data;%CD%\OpenSceneGraph-Data\Images;%CD%\OpenSceneGraph-Data\fonts;%OSG_FILE_PATH%
REM uncomment one of these for your desired notify level...
rem set OSG_NOTIFY_LEVEL=ALWAYS
rem set OSG_NOTIFY_LEVEL=FATAL
rem set OSG_NOTIFY_LEVEL=WARN
rem set OSG_NOTIFY_LEVEL=NOTICE
rem set OSG_NOTIFY_LEVEL=DEBUG
rem set OSG_NOTIFY_LEVEL=DEBUG_FP
rem set OSG_NOTIFY_LEVEL=INFO
TITLE osgShell
%COMSPEC% /K

159
Xcode/Misc/ArrangeDMG.sh Normal file
View File

@@ -0,0 +1,159 @@
#!/bin/bash
#!/bin/sh
#####################################################################
# Author: Eric Wing
#
# This is a stripped down version of my original Build_OSG_OSX.sh
# script. This just copies all the already built binaries
# into a structure that is near-ready for distribution.
#
# Usage: You should run this from the directory above the OSG-projects
# ("AnyDirectory" in the picture below)
# bash OpenSceneGraph/Xcode/Misc/ArrangeDMG.sh
#
# The Xcode projects were designed so all three projects could be
# built without any configuration or installation on the users end
# if the directory structure followed this simple layout:
#
# AnyDirectory/
# OpenThreads/
# Xcode/
# OpenThreads/
# OpenThreads.xcode
# OpenSceneGraph/
# Xcode/
# OpenSceneGraph/
# OpenSceneGraph.xcode
#
# Simply put, the root directories for the 3 projects must be at the
# same level. If you placed my Xcode tarball for each of 3 projects in
# each of the project's respective root directories, my projects should
# extract themselves in the correct layout when you double click the
# tarballs.
#
# You may place this script and run it from the same directory level
# that OpenThreads and OpenSceneGraph exist in.
#
#####################################################################
# CpMac is deprecated now that cp works properly in Tiger
#COPY="/Developer/Tools/CpMac -r"
COPY="/bin/cp -R"
SVN="svn"
#COPY="mv -f"
#BUILDACTION="clean build"
#CONFIGURATION="Development"
CONFIGURATION="Deployment"
#GDAL_LOCATION="/Library/Frameworks"
# Clean up from previous builds?
echo "Deleteing PackageDir to begin anew"
rm -rf PackageDir
#rm -f OpenSceneGraph.dmg
# Make a directory that will hold all the things to be distributed.
mkdir -p PackageDir
# Make a subdirectory in PackageDir that will hold all the Frameworks
mkdir -p PackageDir/Frameworks
# Make a subdirectory in PackageDir that will hold all the osgPlugins
mkdir -p PackageDir/PlugIns
mkdir -p PackageDir/Examples
mkdir -p PackageDir/XcodeTemplates
mkdir -p PackageDir/Resources
mkdir -p PackageDir/.background
# Everything should be built now. Move all the things to be distrubuted
# to the PackageDir with the appropriate layout.
echo "Copying Frameworks..."
#$COPY OpenThreads/Xcode/OpenThreads/build/$CONFIGURATION/OpenThreads.framework PackageDir/Frameworks
#$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/$CONFIGURATION/osg*.framework PackageDir/Frameworks/
$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/$CONFIGURATION/*.framework PackageDir/Frameworks/
# Copy the gdal framework
#$COPY $GDAL_LOCATION/gdal.framework PackageDir/Frameworks
echo "Copying PlugIns..."
$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/$CONFIGURATION/*.so PackageDir/PlugIns/
echo "Copying Examples..."
$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/$CONFIGURATION/*.app PackageDir/Examples/
echo "Copying Xcode templates..."
$COPY OpenSceneGraph/Xcode/XcodeTemplates PackageDir
# If we are in CVS, all the CVS junk got copied in so we need to remove it
#find -d PackageDir/XcodeTemplates -name CVS -exec rm -rf {} \;
find -d PackageDir/XcodeTemplates -name .svn -exec rm -rf {} \;
echo "Copying License and ReadMe files..."
#$COPY OpenThreads/COPYING.txt PackageDir/LICENSE_OpenThreads.txt
$COPY OpenSceneGraph/LICENSE.txt PackageDir/LICENSE_OSG.txt
$COPY OpenSceneGraph/Xcode/OSX_OSG_README.rtf PackageDir
# Copy the background image and .DS_Store for 'fancy' DMG
$COPY OpenSceneGraph/Xcode/Packaging/Resources/instlogo.pdf PackageDir/.background
$COPY OpenSceneGraph/Xcode/Misc/DSStoreForDMG PackageDir/.DS_Store
# Sorry, I think this is bourne only
echo "Setting up symbolic links for the .app's..."
(cd PackageDir/Examples
for file in *.app; do
# echo ${file}
(cd "$file/Contents"; \
ln -s ../../../Frameworks/ Frameworks; \
ln -s ../../../PlugIns/ PlugIns; \
ln -s ../../../Resources/ Resources;
)
done
)
echo "Testing for OpenSceneGraph-Data..."
# If OpenSceneGraph-Data/ resides next to OpenSceneGraph/, then use it
if [ -d OpenSceneGraph-Data ]; then
echo "Found OpenSceneGraph-Data and will copy into PackageDir/Resources."
# Determine if it is a subversion copy or not; we don't want the repo info
if [ -d OpenSceneGraph-Data/.svn ]; then
$SVN export --force OpenSceneGraph-Data PackageDir/Resources
else
$COPY OpenSceneGraph-Data PackageDir/Resources
fi
echo "Creating DMG using:"
echo "hdiutil create -ov -fs HFS+ -volname OpenSceneGraph -srcfolder PackageDir OpenSceneGraph.dmg"
/usr/bin/hdiutil create -ov -fs HFS+ -volname OpenSceneGraph -srcfolder PackageDir OpenSceneGraph.dmg
else
# Not sure how to find the OSG data, so it has to be done manually
# Would Spotlight help?
#echo "Next, you must (manually) copy all the OSG-data to PackageDir/Resources and the LICENCE_GDAL.rtf to PackageDir."
echo "Did not find OpenSceneGraph-Data/ aside OpenSceneGraph/."
echo "Next, you must (manually) copy all the OSG-data to PackageDir/Resources."
echo "Looking up possible location for OpenSceneGraph-Data"
#/usr/bin/perl OpenSceneGraph/Xcode/Misc/FindOSGData.pl
/usr/bin/perl OpenSceneGraph/Xcode/Misc/FindOSGData.pl --single
#echo "Looking up location for LICENSE_GDAL.rtf"
#/usr/bin/perl OpenSceneGraph/Xcode/Misc/FindOSGData.pl --single LICENSE_GDAL.rtf
echo "After you copy the remaining resources, you will want to package up the DMG. You can use the following line as the basis:"
echo "hdiutil create -ov -fs HFS+ -volname OpenSceneGraph -srcfolder PackageDir OpenSceneGraph.dmg"
fi
# Now we want to package up everything into a .dmg
#hdiutil create -ov -fs HFS+ -volname OpenSceneGraph -srcfolder PackageDir OpenSceneGraph.dmg

138
Xcode/Misc/Build_OSG_OSX.sh Normal file
View File

@@ -0,0 +1,138 @@
#!/bin/sh
#####################################################################
# Author: Eric Wing
#
# This script will build OpenThreads and OpenSceneGraph
# (using the Xcode projects I created for each) and package up
# the Frameworks and PlugIns into a disk image (.dmg) for
# easy distribution. This script may be used towards automation
# of nightly builds.
#
# The Xcode projects were designed so all three projects could be
# built without any configuration or installation on the users end
# if the directory structure followed this simple layout:
#
# AnyDirectory/
# OpenThreads/
# Xcode/
# OpenThreads/
# OpenThreads.xcode
# OpenSceneGraph/
# Xcode/
# OpenSceneGraph/
# OpenSceneGraph.xcode
#
# Simply put, the root directories for the 3 projects must be at the
# same level. If you placed my Xcode tarball for each of 3 projects in
# each of the project's respective root directories, my projects should
# extract themselves in the correct layout when you double click the
# tarballs.
#
# You may place this script and run it from the same directory level
# that OpenThreads and OpenSceneGraph exist in.
#
# The script will build each of the projects, and then move the built
# files to a temporary subdirectory called PackageDir. A disk image (.dmg)
# will then be created containing everything in PackageDir. The
# disk image is designed to be easily redistrutable over the internet.
#
# The end user simply needs to download the disk image, mount it, and
# then go to the Frameworks folder and drag and drop all the frameworks to
# a standard location. These might be:
# ~/Library/Frameworks
# /Library/Frameworks
# Or you may place them inside your application bundle e.g.
# YourApp.app/Frameworks
#
# Plugins are somewhat problematic. Though they build correctly,
# the code to locate the plugins from the "stardard" locations is
# incomplete. Currently, optionally installed Plugins like Demeter
# are not built.
#
# To build everything, you must have the Apple Developer Tools installed
# and you must also install Apple's X11 development package (if not
# already installed). It can be found with the Developer Tools on the
# last CD of the Operating System CDs.
#
# Also, since the code is C++, ABI issues apply. Since Panther is
# gcc 3.3 based, the expectation is that the binaries produced
# will require 3.3 compatibility.
#
#####################################################################
COPY="/Developer/Tools/CpMac -r"
#COPY="mv -f"
BUILDACTION="build"
#BUILDACTION="clean build"
CONFIGURATION="Deployment"
# Clean up from previous builds?
rm -rf PackageDir
rm OpenSceneGraph.dmg
# Make a directory that will hold all the things to be distributed.
mkdir -p PackageDir
# Make a subdirectory in PackageDir that will hold all the Frameworks
mkdir -p PackageDir/Frameworks
# Make a subdirectory in PackageDir that will hold all the osgPlugins
mkdir -p PackageDir/PlugIns
mkdir -p PackageDir/Examples
# First build OpenThreads
# xcodebuild -project OpenThreads.xcode \
# -buildstyle Deployment \
# xcodebuild is the commandline tool that can build Xcode projects.
# Specifying "clean build" will clean everything and then rebuild it.
# Just specifying "build" will only rebuild things that need it.
(cd OpenThreads/Xcode/OpenThreads; \
xcodebuild -project OpenThreads.xcodeproj \
-target OpenThreads \
-configuration $CONFIGURATION \
$BUILDACTION \
;
)
# Now build OpenSceneGraph with everything
# xcodebuild is the commandline tool that can build Xcode projects.
# Specifying "clean build" will clean everything and then rebuild it.
# Just specifying "build" will only rebuild things that need it.
# xcodebuild -project OpenSceneGraph.xcode \
# -buildstyle Deployment \
(cd OpenSceneGraph/Xcode/OpenSceneGraph; \
xcodebuild -project OpenSceneGraph.xcodeproj \
-target AllStandardTargets \
-configuration $CONFIGURATION \
$BUILDACTION \
;
)
(cd OpenSceneGraph/Xcode/OpenSceneGraph; \
xcodebuild -project OpenSceneGraph.xcodeproj \
-target GDALdependentStuff \
-configuration $CONFIGURATION \
$BUILDACTION \
;
)
# Everything should be built now. Move all the things to be distrubuted
# to the PackageDir with the appropriate layout.
#$COPY OpenThreads/Xcode/OpenThreads/build/OpenThreads.framework PackageDir/Frameworks
#$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/osg*.framework PackageDir/Frameworks/
#$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/*.so PackageDir/PlugIns/
#$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/*.app PackageDir/Examples/
$COPY OpenThreads/Xcode/OpenThreads/build/$CONFIGURATION/OpenThreads.framework PackageDir/Frameworks
$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/$CONFIGURATION/osg*.framework PackageDir/Frameworks/
$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/$CONFIGURATION/*.so PackageDir/PlugIns/
$COPY OpenSceneGraph/Xcode/OpenSceneGraph/build/$CONFIGURATION/*.app PackageDir/Examples/
# Now we want to package up everything into a .dmg
hdiutil create -ov -fs HFS+ -volname OpenSceneGraph -srcfolder PackageDir OpenSceneGraph.dmg

BIN
Xcode/Misc/DSStoreForDMG Normal file

Binary file not shown.

119
Xcode/Misc/FindOSGData.pl Normal file
View File

@@ -0,0 +1,119 @@
#!/usr/bin/perl -w
# Author: Eric Wing
#
# This calls mdfind to find Folders on your system called
# "OpenSceneGraph-Data*" on your system. If successful,
# the program will sort entries by most recently changed
# and suggest a copy command for you to cut-and-paste if
# correct.
# Usage: perl FindOSGData.pl
# To suppress list of all possible matches use:
# perl FindOSGData.pl --single
# Special: To find LICENCE_GDAL.rtf use:
# perl FindOSGData.pl [--single] LICENSE_GDAL.rtf
use strict;
use warnings;
my $SHOULD_ONLY_PRINT_SUGGESTION = 0;
my $MDFIND_SEARCH_CRITERIA = "kMDItemDisplayName == 'OpenSceneGraph-Data'w && kMDItemKind=Folder";
my $SUGGESTED_COPY_TO_PATH = "PackageDir/Resources";
my $AM_COPYING_DIR = 1;
# Quick and dirty extract file options
if(scalar(@ARGV))
{
foreach my $item(@ARGV)
{
if($item eq "--single")
{
$SHOULD_ONLY_PRINT_SUGGESTION = 1;
}
elsif($item eq "LICENSE_GDAL.rtf")
{
$MDFIND_SEARCH_CRITERIA = "kMDItemDisplayName == 'LICENSE_GDAL.rtf' && kMDItemKind='Rich Text Format (RTF) document'";
$SUGGESTED_COPY_TO_PATH = "PackageDir";
$AM_COPYING_DIR = 0;
}
else
{
print("Unknown argument: $item\n");
}
}
}
sub main()
{
# Call mdfind and return the list of files to an array
print("Calling mdfind (Spotlight)...\n");
my @filelist = `/usr/bin/mdfind "$MDFIND_SEARCH_CRITERIA"` or die "Couldn't find anything that matched criteria on your system using Spotlight\n";
my %folder_lastused_map;
#print(@filelist);
foreach my $file(@filelist)
{
my $escaped_string = $file;
# Need to escape all the spaces in the file name
# (and kill trailing newline if there)
$escaped_string =~ s/ /\\ /g;
chomp($escaped_string);
# Call mdls on each file to get the last changed date
my $ret_string = `/usr/bin/mdls -name kMDItemFSContentChangeDate $escaped_string`;
if( $ret_string =~ m/^.*?\nkMDItem.*?=\s+(.*)/ )
{
# extract the date string (and kill trailing newline if there)
my $date_string = $1;
chomp($date_string);
#print("Date string: $date_string\n");
# copy the date string to the map
$folder_lastused_map{$escaped_string} = $date_string;
}
else
{
print "Ooops, no match...mdls format may have changed";
}
}
my @sorted_by_most_recently_changed = sort {$folder_lastused_map{$b} cmp $folder_lastused_map{$a}} keys(%folder_lastused_map);
if(0 == scalar(@sorted_by_most_recently_changed))
{
print("No matches for OpenSceneGraph-Data were found.");
exit;
}
if(not $SHOULD_ONLY_PRINT_SUGGESTION)
{
print("This is the list of possible matches sorted by most recently changed:\n");
foreach my $file(@sorted_by_most_recently_changed)
{
print("$file\n");
}
}
print("\nIf the following file is correct, you may want to copy and paste this line:\n");
my $item = $sorted_by_most_recently_changed[0];
# need to escape string
$item =~ s/ /\\ /g;
if($AM_COPYING_DIR == 1)
{
print("/Developer/Tools/CpMac -r $item/* $SUGGESTED_COPY_TO_PATH\n");
}
else
{
print("/Developer/Tools/CpMac -r $item $SUGGESTED_COPY_TO_PATH\n");
}
}
main()

View File

@@ -0,0 +1,12 @@
#!/bin/bash
for file in *.app; do
echo ${file}
(cd "$file/Contents"; \
ln -s ../../../Frameworks/ Frameworks; \
ln -s ../../../PlugIns/ PlugIns; \
ln -s ../../../Resources/ Resources;
)
done

30
Xcode/Misc/Tar_Xcode.sh Normal file
View File

@@ -0,0 +1,30 @@
#!/bin/sh
# Must be run from the directory above OpenThreads and OpenSceneGraph
(cd OpenThreads; \
rm -f XcodeOpenThreads.tar.gz; \
tar -zcvf XcodeOpenThreads.tar.gz --exclude='*.pbxuser' --exclude='*.mode1' --exclude='*.perspective' --exclude='build' --exclude='.DS_Store' --exclude='CVS' Xcode/;
)
(cd OpenSceneGraph; \
rm -f XcodeOpenSceneGraph.tar.gz
tar -zcvf XcodeOpenSceneGraph.tar.gz --exclude='*.pbxuser' --exclude='*.mode1' --exclude='*.perspective' --exclude='build' --exclude='.DS_Store' --exclude='CVS' Xcode/
)
rm -f md5list.txt
md5 OpenThreads/XcodeOpenThreads.tar.gz >> md5list.txt
md5 OpenSceneGraph/XcodeOpenSceneGraph.tar.gz >> md5list.txt
mkdir -p XcodePackageDir/Xcode
rm -f XcodePackageDir/Xcode/XcodeOpenThreads.tar.gz
rm -f XcodePackageDir/Xcode/XcodeOpenSceneGraph.tar.gz
rm -f XcodePackageDir/Xcode/md5list.txt
mv md5list.txt XcodePackageDir/Xcode/
cp OpenThreads/XcodeOpenThreads.tar.gz XcodePackageDir/Xcode/
cp OpenSceneGraph/XcodeOpenSceneGraph.tar.gz XcodePackageDir/Xcode/

51
Xcode/Misc/osegs.pl Normal file
View File

@@ -0,0 +1,51 @@
#!/usr/bin/perl
die "Usage: $0 file\n" unless @ARGV;
open(OTOOL, "otool -l $ARGV[0]|") || die "Can't run otool\n";
$cmd = 0;
$name = "";
$segstart = 0;
$segend = 0;
$ostart = 0xffffffff;
$oend = 0;
while(<OTOOL>) {
chop;
if(/^Load *command /) {
$cmd = 1;
next;
}
next unless $cmd != 0;
if(/^ *cmd *(.*)/ && $cmd == 1) {
if($1 eq "LC_SEGMENT") {
$cmd = 2;
} else {
$cmd = 0;
}
next;
}
if(/^ *segname *(.*)/ && $cmd == 2) {
$name = $1;
next;
}
if(/^ *vmaddr *(.*)/ && $cmd == 2) {
$segstart = hex $1;
next;
}
if(/^ *vmsize *(.*)/ && $cmd == 2) {
$len = hex $1;
$segend = $segstart + $len;
printf("Segment $name, %x - %x\n", $segstart, $segend);
$ostart = $segstart if $segstart < $ostart;
$oend = $segend if $segend > $oend;
$cmd = 0;
}
}
close OTOOL;
$len = $oend - $ostart;
printf("Image from %x to %x (length %x)\n", $ostart, $oend, $len);
exit 0

386
Xcode/OSX_OSG_README.rtf Normal file
View File

@@ -0,0 +1,386 @@
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-Oblique;
\f3\fmodern\fcharset77 Courier;\f4\fnil\fcharset77 Monaco;}
{\colortbl;\red255\green255\blue255;}
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid1}
{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid2}}
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}}
\margl1440\margr1440\vieww11520\viewh13720\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f0\b\fs24 \cf0 OpenSceneGraph on Mac OS X
\f1\b0 \
\
This is the readme for the entire OpenThreads/OpenSceneGraph distribution for the OS X frameworks and Xcode projects. This readme was originally written for the binary distribution, but there is a lot of useful information in here so it has also been included with the source code in the Xcode section. This was sync'd with the OSG 1.2 release.\
\
The source code is available at {\field{\*\fldinst{HYPERLINK "http://www.openscenegraph.org/"}}{\fldrslt http://www.openscenegraph.org/}}\
\
\f0\b \
Quick Start:
\f1\b0 \
Screencasts of how to install and get going with OSG for Mac OS X can be found here:\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
{\field{\*\fldinst{HYPERLINK "http://www.openscenegraph.org/projects/osg/wiki/Support/TipsAndTricks"}}{\fldrslt \cf0 http://www.openscenegraph.org/projects/osg/wiki/Support/TipsAndTricks}}\
\
\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f0\b \cf0 What's New in this release:
\f1\b0 \
\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\ql\qnatural\pardirnatural
\ls1\ilvl0\cf0 {\listtext \'a5 }OpenThreads now uses Subversion 'externals' to make it look like part of the OSG source distribution.\
{\listtext \'a5 }Producer has been removed from the distribution. osgViewer is supposed to replace it. The Mac OS X backend is currently Carbon based.\
{\listtext \'a5 }GDAL has been removed as it is no longer a dependency.\
{\listtext \'a5 }osgviewerCocoa (previously osgsimpleviewerCocoa in CVS) is an example program demonstrating tight integration between OpenSceneGraph and Cocoa. It demonstrates many of the things you should consider in building a first-class OS X application that uses OSG.\
{\listtext \'a5 }Dwarf debugging format\
{\listtext \'a5 }osgsimpleviewerSDL\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 \
\
\f0\b Notes for 2.0 release:\
\f1\b0 OSG has changed its versioning number scheme. 2.0 is the stable release following 1.2.\
\
Producer has been removed from the distribution with osgViewer as its intended replacement.\
\
GDAL has also been removed from the distribution as it is no longer a dependency.\
\
OSG is in the process to moving to a new CMake based build system. Once the remaining Mac OS X support needed is implemented in CMake, the Xcode projects will be removed in favor of the new unified CMake system.\
\
With Leopard on the horizon, the need to deal with 64-bit readiness and deprecated APIs is becoming more critical. In a nutshell, we need a Cocoa based version of osgViewer, and the QuickTime plugin needs to be replaced. Currently, there is a new ImageIO based plugin to assume the image reading/writing duties of the old qt plugin. We are in need of a QTKit based plugin to assume the movie responsibilities of the old plugin. And we are in need of volunteers to write the Cocoa osgViewer backend. Currently, the example osgviewerCocoa demonstrates a lot of similar functionality and could be used as a reference. However, the example needs to be turned 'inside-out'. The example is an NSView class that contains OSG classes; the osgViewer needs to be the opposite where the OSG class needs to contain the NSView class.\
\
\
\
\f0\b Notes for 1.2 release:\
\f1\b0 1.2 was originally intended as a bug fix release for 1.1 (going for 1.1.1), but OSG broke ABI again so the number was bumped to 1.2. There are no significant changes to the Xcode projects or significant OS X specific changes.\
\
Since the 1.1 release, we have learned of serious problems (freezing of the window manager) on the (Intel) MacBook Pros using osgText. We believe the problem is with a serious driver bug for ATI in OS X 10.4.7. We believe the bug affects the ATI Radeon X1600. (You can get this string by calling glGetString(GL_RENDERER) when you have a valid OpenGL Context. The string returned to us on affected MacBook Pros is "ATI Radeon X1600 OpenGL Engine".)\
\
Robert Osfield says:\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\ri0\ql\qnatural\pardirnatural
\f2\i \cf0 osgText subloads small glyphs one by one rather than the whole image, so I'd suspect it is this that is broken. There is a path way in osgText::Font for uploading the whole image at once, which original was specifically implement as a work around for an Octane driver bug, but for 1.1 I enabled this pathway to be selectable via an env var to see if OSX users could work around the OSX driver bug.
\f1\i0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ri0\ql\qnatural\pardirnatural
\cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 To set the environmental variable through the shell:\
\
bash:\
export OSG_TEXT_INCREMENTAL_SUBLOADING=OFF\
\
csh:\
setenv OSG_TEXT_INCREMENTAL_SUBLOADING OFF\
\
If you launch through Xcode, you may also set environment variables. In the Groups & Files panel, go to the section called "Executables" and expand the disclosure triangle. Find your application in the list and bring up the Info inspector. Click on the tab called "Arguments" and there are two tables in the display. The lower table will let you enter environmental variables. \
\
\
James Hopper suggests another solution that doesn't require you to launch through a shell:\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx9360\li720\ri0\ql\qnatural\pardirnatural
\f2\i \cf0 you can set environement variables that work with applications by creating a file ~/.MacOSX/.environment.plist and put them in there. easiest way is to use the preference pane called RCEnvironment at\
\
{\field{\*\fldinst{HYPERLINK "http://www.rubicode.com/Software/RCEnvironment/"}}{\fldrslt http://www.rubicode.com/Software/RCEnvironment/}}
\f1\i0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 \
\
For deployed application's, environmental variables are tricker. James Hopper's suggestion will work, but you obviously need to figure out how to install the .plist to user accounts. So another solution is to set things directly in your code. You can set environmental variables in C using putenv or setenv. (Use the man pages for more information.)\
\
To detect the OS X version number, the only API I know of that can do this Gestalt() which is a Carbon API. (If there are others, please let me know.) The code will look something like this (untested):\
\
#ifdef __APPLE__\
#include <Carbon/Carbon.h>\
SInt32 MacVersion;\
\
if (Gestalt(gestaltSystemVersion, &MacVersion) == noErr)\
\{\
// For 10.4.7\
if (MacVersion == 0x1047)\
\{\
// Test for the specific video cards giving problems and set the proper environment variables if needed.\
// I believe you need an initialized GL context to call glGetString (or any GL command) or will crash.\
// If a bad video driver, then call putenv("OSG_TEXT_INCREMENTAL_SUBLOADING=OFF")\
\}\
// For 10.4.8\
else if (MacVersion <= 0x1048)\
\{\
// Do we assume the problem is still broken or do we assume it's fixed?\
\}\
// By the way, did things work okay in 10.4.6?\
\
\}\
#endif\
\
Don't forget to link against Carbon (-framework Carbon) if you use Gestalt.\
\
\
If you are affected by this, please file a bug report at {\field{\*\fldinst{HYPERLINK "https://bugreport.apple.com"}}{\fldrslt https://bugreport.apple.com}}. Apple lives and dies by the bug report system. If anything is to get done, it must be in the bug reporter. And they keep count of how many people file the same bug, so duplicates are good.\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f2\i \cf0 (Note: We believe this has been fixed in 10.4.8)
\f1\i0 \
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f0\b \cf0 Notes for 1.1 release:\
\f1\b0 We are now distributing Universal Binaries. These binaries were built using Xcode 2.3 and gcc 4.0.1.\
The Xcode projects are also set to build as Universal Binaries for both Development and Deployment\
targets. If you do not need this and want to save build time, you should change the architecture option\
to your desired setting (most likely to $(NATIVE_ARCH)). It is overridden in the top-level "OpenSceneGraph" project in the Group & Files panel. Don't forget to change OpenThreads \
as well. (Quick tip: You can delete the modified (boldfaced) option by clicking on the - button.)\
\
Apple documented the behavior of -Os in the Xcode 2.3 release, so we have changed the compiler optimizations (back) from -O3 to -Os. The hope was to shrink the binary size, but it didn't seem to have a large effect. Benchmarking still has not been done. (Volunteers?)\
\
There are two new convenience scripts (ArrangeDMG.sh and FindOSGData.pl) in the Misc section\
of the Xcode section of the source code. These are mainly to help binary distribution. However, if\
you're interested in seeing some command-line Spotlight (mdfind) in action, you can look at the \
FindOSGData.pl script.\
\
New to Xcode 2.3 is the Dwarf debugging format. It is off by default to retain compatibility with Xcode\
2.1/2.2. However, for your own development you may see drastic improvements in many things if you \
enable it. File size alone shrunk from about 500MB for the frameworks to under 100MB. And for the \
PlugIns, the file size shrunk from about 1GB to about 100MB.\
\
We have stopped maintaining the Xcode 1.5/2.0 projects.\
\
\
\f0\b Notes for 1.0 release:
\f1\b0 \
These projects were primarily developed with gcc 4.0.1 under Tiger 10.4.3 using Xcode 2.2. Starting with gcc 4.0, Apple no longer statically links in the C++ runtime. Apple has made available the g++ 4.0 dynamic runtime for Panther under the 10.3.9 release. To run under Panther, your system must have this update (or you must recompile the binaries for your system).\
\
With gcc 4.0, serious bugs have been fixed from gcc 3.3 and new features are available to us so we have experimented with more aggressive optimizations. For these binaries we have enabled -O3 optimization and -mtune=G5. We have also enabled autovectorization. We also enabled -fvisibility-inlines-hidden which is expected to shrink the binary sizes, but noticed very little difference. (There may be something wrong.) We have not done the proper benchmarking with these options, so feedback is welcome.\
\
Because of the changes to OSG from the last version and our different optimization options, we needed to redo the prebinding addresses. (See below) The new addresses will hopefully have enough wiggle room so future OSG releases might still be able to use the same addresses if you use compile options that make smaller binaries. \
\
With Apple's announcement of the Intel transition, Xcode 2.1 was released to help developers prepare for the migration. Unfortunately, Xcode 2.1 projects are incompatible with previous Xcode versions. So we have included both Xcode 2.0 (should work with 1.5) and Xcode 2.1/2.2 project files. This will likely be our last release of Xcode 2.0 projects as we move forward. It is also likely our next release will be built as a Universal Binary (this version is not). Prebinding will be dropped in future when this happens (because Tiger doesn't really need prebinding any more and Xcode ignores the option when compiling as Universal).\
\
\
\
\f0\b Acknowledgments:
\f1\b0 \
\
Many thanks should be given to the people that have helped make these projects possible and for their contributions to make OSG run well on OS X through the multiyear run-up to 1.0. I unfortunately don't have a comprehensive list as many contributions have been submitted directly to OpenSceneGraph, but I wanted to give mention to these specific people I've had the pleasure of working with in trying to make this corner of the universe work.\
\
James Hopper (work on Xcode templates, GDAL frameworks)\
David Guthrie (various patches, testing, Xcode project compiler options refinement)\
Jeremy Bell (original comprehensive discussion on OS X frameworks, patches)\
Stephen Travis Pope (provider of the OSG on OS X website)\
Markus St\'9abe (web site design, documentation reviewer and formatter)\
(And for the curious) Eric Wing (Xcode projects and frameworks, patches, documentation)\
\
\
\
\f0\b Installation:
\f1\b0 \
\
To "Install" the Frameworks, copy the Frameworks inside the \
frameworks folder to a standard location.\
\
~/Library/Frameworks (for a single user)\
/Library/Frameworks (for system wide installation)\
/Network/Library/Frameworks (for those who understand when this should be used)\
Or you may place them inside your application bundle e.g.\
YourApp.app/Contents/Frameworks (best for distributing your app)\
\
Simply drag and drop the frameworks to the desired location.\
\
To "Install" the osgPlugins, copy the Plugins to one of the following\
locations.\
\
~/Library/Application Support/OpenSceneGraph/PlugIns\
/Library/Application Support/OpenSceneGraph/PlugIns\
/Network/Library/Application Support/OpenSceneGraph/PlugIns\
YourApp.app/Contents/PlugIns (best for distributing your app)\
\
Note that the search order is:\
1) Application Bundle\
2) ~/Library\
3) /Library\
4) /Network/Library\
\
\
That's it! Just remember to link using -framework instead of -l, e.g. \
-framework osg -framework osgUtil -framework OpenThreads\
instead of \
-losg -losgUtil -lOpenThreads\
\
Also be aware that if using the 10.4 Universal SDK, you may have to explicitly set the Framework search paths (its an option/field in the build settings for your Target) due to the way Apple modifies the standard search paths when using an SDK. (Please see the Universal Binaries section.)\
\
\
\f0\b Running the examples:
\f1\b0 \
\
Now that osgViewer supports a native Window manager, we have attempted to provide double clickable .app bundles. We cheat a little to keep the download size smaller by symbolically linking the Frameworks, PlugIns, and Resources directories for each .app bundle instead of giving each its own copy. This allows the apps to find their resources when trying to run directly from the .dmg without having to copy anything to your computer. \
\
If you copy these examples out of .dmg, be aware that these symbolic links may or may not be able to find all the dependencies depending on factors such as retaining the directory structure of the .dmg, copying everything over, or what you installed to system locations.\
\
If you want to build stand-alone, completely self-contained OSG apps that require no user installation, follow the standard Apple guidelines for Application Bundles. It might look something like this:\
\
YourProgram.app/\
Contents/\
Frameworks/ (all the frameworks you depend on go in here)\
osg.framework\
osgDB.framework\
osgViewer.framework\
...\
PlugIns/ (the plugins you need go in here)\
osgdb_freetype.so\
...\
Resources/ (the data files you need go in here)\
logo.jpg\
arial.ttf\
model.md2\
...\
\
Some of these examples will run if you double click them, but others will not because they were written expecting command line arguments. To run these you must run from the command line. However, you may now use Terminal.app instead of X11.app if you choose. You would run like:\
\
./osgreflect.app/Contents/MacOS/osgreflect <arguments here>\
\
Also remember that OSG will still respond to standard OSG environmental variables.\
\
\
\f0\b Prebinding Addresses:\
\f1\b0 \
These are now obsolete. Prebinding is now disabled. The old addresses were:\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f3 \cf0 OpenThreads -seg1addr 0x1FF00000\
osg -seg1addr 0x1FF10000\
osgUtil -seg1addr 0x20230000\
osgDB -seg1addr 0x20380000\
osgText -seg1addr 0x2040a000\
osgParticle -seg1addr 0x20443000\
osgGA -seg1addr 0x2049a000\
osgIntrospection -seg1addr 0x204fd000\
osgSim -seg1addr 0x205f4000\
osgFX -seg1addr 0x20690000\
osgViweer -seg1addr 0x20700000\
gdal -seg1addr 0x207d0000\
osgTerrain -seg1addr 0x20c40000
\f1 \
\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f0\b \cf0 Xcode Projects:
\f1\b0 \
\
The Xcode Projects are now included as part of the official OpenSceneGraph distribution.\
\
Xcode 2.1+ projects have the extension .xcodeproj.\
Xcode 2.0 and below have the extension .xcode (no longer maintained)\
\
\
\f0\b Xcode Templates:\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
\f1\b0 \cf0 \
We have included a "New Project" template for OpenSceneGraph projects. We recommend you place the "OSG Application" folder into either:\
\
/Library/Application Support/Apple/Developer Tools/Project Templates/Appllcation (for system-wide)
\f0\b \
\f1\b0 ~/Library/Application Support/Apple/Developer Tools/Project Templates/Appllcation (for per-user)
\f0\b \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f1\b0 \cf0 \
After doing this, when doing a File->New Project, you will see "OSG Application" under the Application category. Selecting this will create a simple OSG project with some sample source code already in place which currently renders 2 colored tetrahedrons.\
\
All the OSG related frameworks are listed already, though gdal and osgTerrain are not checked by default. To link against them, you must check their checkboxes to enable them. Feel free to uncheck or remove frameworks you don't need.\
\
The OSGTemplate target defines __USE_OSX_AGL_IMPLEMENTATION__ as a Preprocessor macro already for you.\
\
A prefix header file has been included which lists all the OSG headers. This will take some additional time to compile your first time. If you don't need all the headers, you may remove them as you see fit.\
\
You are encouraged to setup a "Copy Files Build Phase" for your project to automatically bundle the OSG frameworks and PlugIns. (And of course, use the "Bundle Resources" to include your Resources. We did not set this up automatically for you because if you use the development frameworks, they can be several hundred megabytes.\
\
To learn more about Framework bundling, a good demonstration video and sample project exists here:\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
{\field{\*\fldinst{HYPERLINK "http://rentzsch.com/cocoa/embeddedFrameworks"}}{\fldrslt \cf0 http://rentzsch.com/cocoa/embeddedFrameworks}}\
\
\
Finally, there may still be issues with Zerolink. If you have problems seeing the sample code render an image, try rerunning the program or try disabling zerolink.\
\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f0\b \cf0 Compatibility:
\f1\b0 \
\
The binaries are built using gcc 4.0.1 under Tiger 10.4.7. These binaries also will run under Panther 10.3.9 (which has the needed C++ runtime library). \
\
Remember that the C++ ABI breaks with every new version of gcc. This generally means you shouldn't mix and match C++ code built under different versions of gcc unless you know what you're doing. The promise of gcc 4.0 is that the ABI will finally be stable and this problem will go away in the future. It is highly recommended that you use gcc 4.0 if possible. (There are also many additional reasons to use gcc 4.0 separate from this issue.) If you are running under Panther and must write new code that links to OpenSceneGraph, you might have problems (unverified) since Panther's default compiler is gcc 3.3 and not 4.0. It is highly recommended that you do your development work and building in Tiger under gcc 4.0 and then simply test and reuse the same binaries from Tiger which will avoid the ABI issues with gcc 3.3. If this is not possible for you to do, or must support older gcc versions, you will need to recompile all the osg frameworks with your targeted gcc version.\
\
Also keep in mind that the prebinding addresses are finicky. Changing the compiler version or the build options can change the binary sizes enough to invalidate our addresses. It is recommended you compile with Xcode 2.1+ and gcc 4.0. If you need to work on other versions, you may need to redo the addresses yourself. Remember that versions prior to gcc 3.3 statically link in the C++ runtime which increases the sizes of the binaries.\
\
If you are compiling under Xcode 1.5 and are using our Xcode 1.5/2.0 projects, there have been reports of problems I have been unable to reproduce. If you do encounter these problems, please try the following. \
\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\ql\qnatural\pardirnatural
\ls2\ilvl0\cf0 {\listtext \'a5 }I have more rigorously tested the Deployment build style than the Development build style so use the Deployment build style. Make sure you are compiling using -Os or -O0 optimization. -O3 is known to have problems under gcc 3.3. \
{\listtext \'a5 }The -mtune=G4 is has been tested more under Xcode 1.5 than -mtune=G5. \
{\listtext \'a5 }I noticed that for some reason, Xcode has problems compiling the Carbon header with the OpenThreads framework when autovectorization and precompiled headers were enabled. You might try disabling precompiled headers if it is not already. If the problem persists, you may also need to delete the entry that enables autovectorization. In the Groups and Files panel (left side panel), open the Info inspector for the project (top item) and click on the Build tab. Scroll down to the bottom, and remove the autovectorization option. \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 \
\f0\b Universal Binaries:
\f1\b0 \
\
Be aware, when building you're own Universal Binaries and you use the 10.4 SDK, you must explicitly\
list the search path to the frameworks in the project options. It seems that using any SDK will cause\
the standard places like /Library/Frameworks to not be searched.\
\
\f0\b Known Issues:
\f1\b0 \
\
There is one known serious bug that appears sometimes. With Xcode 2.0 and 2.1, in some cases when you build OpenThreads/OSG from scratch, when you run the examples, they will crash on load. The workaround seems to be to delete just the OpenThreads framework after everything is built. Then rebuild just the OpenThreads framework. Bug reports have been filed with Apple, but the root cause remains to be a mystery. (We have some guesses, but nothing substantial.) I have not yet seen this issue emerge with Xcode 2.2, so maybe the problem is fixed.\
\
The osgdb_geo plugin is not big endian safe. The Makefile system does not build it for OS X. We have added it for the Xcode projects, but you probably shouldn't use it unless you're on Intel.\
\
Do not use the
\f4\fs22 -fvisibility=hidden
\f1\fs24 flag unless you know what you're doing. In some cases, Xcode 2.2 seems to enable this by default in the project settings. You should verify your project settings and make sure this is disabled. Among other things, this flag will hide RTTI information causing dynamic_cast<> operations to fail. Since parts of OSG are dependent on RTTI, this option should remain off. The flag
\f4\fs22 -fvisibility-inlines-hidden
\f1\fs24 may be safe to use. (This is actually enabled in our Xcode projects. If there are problems, please let us know.)\
\
Finally, there may still be issues with Zerolink. In the Project Template, we defer to the default for this option and in current Xcode versions, the default is on. The OSG Xcode projects themselves have explicitly disabled Zerolink. In the worst cases, scenes will not render correctly or the application may crash. The worst thing about this is that the problems are so strange, you may not realize Zerolink is the problem. To see this for yourself (we tried in Xcode 2.2), you might try comparing the osgdelaunay example with and without Zerolink, toggling through all values of 'n'. With Zerolink certain objects do not even appear and it crashes. So you are probably should disable this to be safe. However, for the daring, Zerolink does seem to work for some projects though we do not fully understand the criteria for this. Furthermore, Apple constantly works on improving this feature so maybe one day it will all just work right.\
\
\f0\b Misc:
\f1\b0 \
\
Included with the OSG Xcode projects are some of the little scripts I used to help put everything together. The build script might be of interest to those who wish to produce their own automated nightly builds.\
\
We're still looking for volunteers to help us write a new CMake based build system. Please contact me\
or the list if you are interested in helping implement the thing.\
\
If you are developing with Leopard under the Apple software seed program, some areas of OpenSceneGraph are not 64-bit ready/clean. If you can help, please contact me. \
\
On a similar note, a Cocoa back end would be very nice (and would avoid most of the 64-bit issues). Nothing on this end is being done currently, but if you have an interest in implementing such a thing, please contact me.\
\
On the topic of feature requests, another potentially useful thing to have is a osgtext plugin that can load glyphs rendered by Apple instead of Freetype.\
\
\
\
-Eric Wing\
ewing 2121 - at - yahoo (in the commercial domain)\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
{\field{\*\fldinst{HYPERLINK "http://www.create.ucsb.edu/OSG/"}}{\fldrslt \cf0 http://www.create.ucsb.edu/OSG/}}\
}

Binary file not shown.

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>OpenSceneGraph</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.apple.carbonframeworktemplate</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
//
// Prefix header for all source files of the 'OpenSceneGraph' target in the 'OpenSceneGraph' project.
//
#include <Carbon/Carbon.h>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>OpenThreads</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>org.OpenThreads.OpenThreads</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.4.4</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,21 @@
#This Script Installs the files from the Xcode build into the correct location.
#echo Copy Examples
#cp -r ../OpenSceneGraph/build/Development/*.app Binary/Examples/
echo Install Applications
sudo cp build/Development/osgviewer.app/Contents/MacOS/osgviewer /usr/local/bin/
sudo cp build/Development/osgarchive.app/Contents/MacOS/osgarchive /usr/local/bin/
sudo cp build/Development/osgversion.app/Contents/MacOS/osgversion /usr/local/bin/
sudo cp build/Development/osgconv.app/Contents/MacOS/osgconv /usr/local/bin/
sudo cp build/Development/osgmovie.app/Contents/MacOS/osgmovie /usr/local/bin/
echo Install Frameworks
cp -r build/Development/*.framework ~/Library/Frameworks/
echo Install Plugins
cp build/Development/*.so ~/Library/Application\ Support/OpenSceneGraph/PlugIns/
cp build/Development/osgtext ~/Library/Application\ Support/OpenSceneGraph/PlugIns/
cp build/Development/osgpick ~/Library/Application\ Support/OpenSceneGraph/PlugIns/
echo Install Complete

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>os</string>
<key>CFBundleIdentifier</key>
<string>org.OpenSceneGraph.os</string>
<key>CFBundleVersion</key>
<string>2.0.0</string>
</dict>
</plist>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>osg</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>org.OpenSceneGraph.osg</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2.0.0</string>
</dict>
</plist>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>osgDB</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>org.OpenSceneGraph.osgDB</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2.0.0</string>
</dict>
</plist>

Some files were not shown because too many files have changed in this diff Show More