osgEarth 2.1.1
|
00001 /* -*-c++-*- */ 00002 /* osgEarth - Dynamic map generation toolkit for OpenSceneGraph 00003 * Copyright 2008-2010 Pelican Mapping 00004 * http://osgearth.org 00005 * 00006 * osgEarth is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU Lesser General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public License 00017 * along with this program. If not, see <http://www.gnu.org/licenses/> 00018 */ 00019 00020 /* -*-c++-*- 00021 * Derived from osg/Export 00022 */ 00023 00024 #ifndef OSGEARTH_EXPORT_H 00025 #define OSGEARTH_EXPORT_H 1 00026 00027 // define USE_DEPRECATED_API is used to include in API which is being phased out 00028 // if you can compile your apps with this turned off you are 00029 // well placed for compatibility with future versions. 00030 #define USE_DEPRECATED_API 00031 00032 #if defined(_MSC_VER) 00033 #pragma warning( disable : 4244 ) 00034 #pragma warning( disable : 4251 ) 00035 #pragma warning( disable : 4267 ) 00036 #pragma warning( disable : 4275 ) 00037 #pragma warning( disable : 4290 ) 00038 #pragma warning( disable : 4786 ) 00039 #pragma warning( disable : 4305 ) 00040 #pragma warning( disable : 4996 ) 00041 #endif 00042 00043 #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__) 00044 # if defined( OSGEARTH_LIBRARY_STATIC ) 00045 # define OSGEARTH_EXPORT 00046 # elif defined( OSGEARTH_LIBRARY ) 00047 # define OSGEARTH_EXPORT __declspec(dllexport) 00048 # else 00049 # define OSGEARTH_EXPORT __declspec(dllimport) 00050 # endif 00051 #else 00052 # define OSGEARTH_EXPORT 00053 #endif 00054 00055 // set up define for whether member templates are supported by VisualStudio compilers. 00056 #ifdef _MSC_VER 00057 # if (_MSC_VER >= 1300) 00058 # define __STL_MEMBER_TEMPLATES 00059 # endif 00060 #endif 00061 00062 /* Define NULL pointer value */ 00063 00064 #ifndef NULL 00065 #ifdef __cplusplus 00066 #define NULL 0 00067 #else 00068 #define NULL ((void *)0) 00069 #endif 00070 #endif 00071 00072 #ifndef OSG_MIN_VERSION_REQUIRED 00073 #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)))) 00074 #endif 00075 00076 #ifndef OSG_VERSION_LESS_THAN 00077 #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)))) 00078 #endif 00079 00080 #ifndef OSG_VERSION_LESS_OR_EQUAL 00081 #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)))) 00082 #endif 00083 00084 #ifndef OSG_VERSION_GREATER_THAN 00085 #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)))) 00086 #endif 00087 00088 #ifndef OSG_VERSION_GREATER_OR_EQUAL 00089 #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)))) 00090 #endif 00091 00092 00097 #endif 00098