2009-11-19 00:24:01 +08:00
|
|
|
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2009 Robert Osfield
|
2003-01-22 00:45:36 +08:00
|
|
|
*
|
2009-11-19 00:24:01 +08:00
|
|
|
* 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
|
2003-01-22 00:45:36 +08:00
|
|
|
* (at your option) any later version. The full license is in LICENSE file
|
|
|
|
* included with this distribution, and on the openscenegraph.org website.
|
2009-11-19 00:24:01 +08:00
|
|
|
*
|
2003-01-22 00:45:36 +08:00
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2009-11-19 00:24:01 +08:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2003-01-22 00:45:36 +08:00
|
|
|
* OpenSceneGraph Public License for more details.
|
|
|
|
*/
|
2001-10-04 23:12:57 +08:00
|
|
|
|
2004-09-28 17:14:04 +08:00
|
|
|
#ifndef OSG_VERSION
|
|
|
|
#define OSG_VERSION 1
|
2001-01-11 00:32:10 +08:00
|
|
|
|
|
|
|
#include <osg/Export>
|
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
2011-06-17 17:02:22 +08:00
|
|
|
#define OPENSCENEGRAPH_MAJOR_VERSION 3
|
2011-06-18 00:55:49 +08:00
|
|
|
#define OPENSCENEGRAPH_MINOR_VERSION 1
|
2013-06-03 22:38:23 +08:00
|
|
|
#define OPENSCENEGRAPH_PATCH_VERSION 8
|
|
|
|
#define OPENSCENEGRAPH_SOVERSION 98
|
2009-05-11 19:08:16 +08:00
|
|
|
|
2009-11-23 17:54:28 +08:00
|
|
|
/* Convenience macro that can be used to decide whether a feature is present or not i.e.
|
2009-05-18 18:28:14 +08:00
|
|
|
* #if OSG_MIN_VERSION_REQUIRED(2,9,5)
|
|
|
|
* your code here
|
|
|
|
* #endif
|
|
|
|
*/
|
2009-05-11 19:08:16 +08:00
|
|
|
#define OSG_MIN_VERSION_REQUIRED(MAJOR, MINOR, PATCH) ((OPENSCENEGRAPH_MAJOR_VERSION>MAJOR) || (OPENSCENEGRAPH_MAJOR_VERSION==MAJOR && (OPENSCENEGRAPH_MINOR_VERSION>MINOR || (OPENSCENEGRAPH_MINOR_VERSION==MINOR && OPENSCENEGRAPH_PATCH_VERSION>=PATCH))))
|
|
|
|
#define OSG_VERSION_LESS_THAN(MAJOR, MINOR, PATCH) ((OPENSCENEGRAPH_MAJOR_VERSION<MAJOR) || (OPENSCENEGRAPH_MAJOR_VERSION==MAJOR && (OPENSCENEGRAPH_MINOR_VERSION<MINOR || (OPENSCENEGRAPH_MINOR_VERSION==MINOR && OPENSCENEGRAPH_PATCH_VERSION<PATCH))))
|
|
|
|
#define OSG_VERSION_LESS_OR_EQUAL(MAJOR, MINOR, PATCH) ((OPENSCENEGRAPH_MAJOR_VERSION<MAJOR) || (OPENSCENEGRAPH_MAJOR_VERSION==MAJOR && (OPENSCENEGRAPH_MINOR_VERSION<MINOR || (OPENSCENEGRAPH_MINOR_VERSION==MINOR && OPENSCENEGRAPH_PATCH_VERSION<=PATCH))))
|
|
|
|
#define OSG_VERSION_GREATER_THAN(MAJOR, MINOR, PATCH) ((OPENSCENEGRAPH_MAJOR_VERSION>MAJOR) || (OPENSCENEGRAPH_MAJOR_VERSION==MAJOR && (OPENSCENEGRAPH_MINOR_VERSION>MINOR || (OPENSCENEGRAPH_MINOR_VERSION==MINOR && OPENSCENEGRAPH_PATCH_VERSION>PATCH))))
|
|
|
|
#define OSG_VERSION_GREATER_OR_EQUAL(MAJOR, MINOR, PATCH) ((OPENSCENEGRAPH_MAJOR_VERSION>MAJOR) || (OPENSCENEGRAPH_MAJOR_VERSION==MAJOR && (OPENSCENEGRAPH_MINOR_VERSION>MINOR || (OPENSCENEGRAPH_MINOR_VERSION==MINOR && OPENSCENEGRAPH_PATCH_VERSION>=PATCH))))
|
|
|
|
|
2005-04-28 20:45:55 +08:00
|
|
|
|
2001-01-11 00:32:10 +08:00
|
|
|
/**
|
2004-09-16 03:10:15 +08:00
|
|
|
* osgGetVersion() returns the library version number.
|
2009-11-23 17:54:28 +08:00
|
|
|
* Numbering convention : OpenSceneGraph-1.0 will return 1.0 from osgGetVersion.
|
2004-09-16 03:10:15 +08:00
|
|
|
*
|
|
|
|
* This C function can be also used to check for the existence of the OpenSceneGraph
|
|
|
|
* library using autoconf and its m4 macro AC_CHECK_LIB.
|
|
|
|
*
|
|
|
|
* Here is the code to add to your configure.in:
|
2001-01-11 00:32:10 +08:00
|
|
|
\verbatim
|
|
|
|
#
|
|
|
|
# Check for the OpenSceneGraph (OSG) library
|
|
|
|
#
|
|
|
|
AC_CHECK_LIB(osg, osgGetVersion, ,
|
|
|
|
[AC_MSG_ERROR(OpenSceneGraph library not found. See http://www.openscenegraph.org)],)
|
|
|
|
\endverbatim
|
|
|
|
*/
|
2005-04-12 01:14:17 +08:00
|
|
|
extern OSG_EXPORT const char* osgGetVersion();
|
2001-01-11 00:32:10 +08:00
|
|
|
|
2009-11-23 17:54:28 +08:00
|
|
|
/** The osgGetSOVersion() method returns the OpenSceneGraph shared object version number. */
|
2007-09-11 18:10:43 +08:00
|
|
|
extern OSG_EXPORT const char* osgGetSOVersion();
|
|
|
|
|
2004-09-16 03:10:15 +08:00
|
|
|
/** The osgGetLibraryName() method returns the library name in human-friendly form. */
|
2005-04-12 01:14:17 +08:00
|
|
|
extern OSG_EXPORT const char* osgGetLibraryName();
|
2001-01-11 00:32:10 +08:00
|
|
|
|
2007-09-11 18:10:43 +08:00
|
|
|
// old defines for backwards compatibility.
|
|
|
|
#define OSG_VERSION_MAJOR OPENSCENEGRAPH_MAJOR_VERSION
|
|
|
|
#define OSG_VERSION_MINOR OPENSCENEGRAPH_MINOR_VERSION
|
|
|
|
#define OSG_VERSION_PATCH OPENSCENEGRAPH_PATCH_VERSION
|
|
|
|
|
|
|
|
#define OSG_VERSION_RELEASE OSG_VERSION_PATCH
|
|
|
|
#define OSG_VERSION_REVISION 0
|
|
|
|
|
|
|
|
|
2002-02-03 20:33:41 +08:00
|
|
|
}
|
2001-01-11 00:32:10 +08:00
|
|
|
|
|
|
|
#endif
|