GlobalDefines.hh 2.77 KB
Newer Older
Jan Möbius's avatar
 
Jan Möbius committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
//=============================================================================
//
//                               OpenFlipper
//        Copyright (C) 2008 by Computer Graphics Group, RWTH Aachen
//                           www.openflipper.org
//
//-----------------------------------------------------------------------------
//
//                                License
//
//  OpenFlipper is free software: you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
//
//  OpenFlipper 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
//  GNU Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public License
//  along with OpenFlipper.  If not, see <http://www.gnu.org/licenses/>.
//
//-----------------------------------------------------------------------------
//
//   $Revision$
//   $Author$
//   $Date$
//
//=============================================================================




//=============================================================================
//
//  Global defines for OpenFlipper
//
//=============================================================================

/**
 * \file GlobalDefines.hh
 * This File contains the required defines for the OpenFlipper Framework
 */

#ifndef GLOBALDEFINES_HH
#define GLOBALDEFINES_HH


50 51 52 53 54 55 56 57 58
/**
 * Get GCC version and convert to MMmm where MM is the major
 * and mm the minor release version.
 * For example if GCC_VERSION == 4030, we consider gcc-4.3.
 */

#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__ * 10)


Jan Möbius's avatar
 
Jan Möbius committed
59 60 61 62 63 64 65
//== DEEFINES =================================================================

/** Force static casts for Properties in OpenMesh.
 * Cross Plugin dynamic casts are not possible due to locally defined symbols
 */
#define OM_FORCE_STATIC_CAST

66
/** Enable openmp where possible (for gcc version >= 4.3)
Jan Möbius's avatar
 
Jan Möbius committed
67
 */
Jan Möbius's avatar
Jan Möbius committed
68 69 70 71
#ifndef USE_OPENMP
  #if GCC_VERSION >= 4030
    #define USE_OPENMP
  #endif
72
#endif
Jan Möbius's avatar
 
Jan Möbius committed
73

Jan Möbius's avatar
Jan Möbius committed
74

Jan Möbius's avatar
Jan Möbius committed
75
#ifndef DLLEXPORT
Jan Möbius's avatar
Jan Möbius committed
76 77 78 79 80 81 82
	#ifdef WIN32
		#ifdef PLUGINLIBDLL
			#ifdef USEPLUGINLIBDLL
				#define DLLEXPORT __declspec(dllimport)
				#define DLLEXPORTONLY
			#else
				#define DLLEXPORT __declspec(dllexport)
Jan Möbius's avatar
Jan Möbius committed
83 84
				#define DLLEXPORTONLY __declspec(dllexport)
			#endif
Jan Möbius's avatar
Jan Möbius committed
85 86
		#else
			#define DLLEXPORT
Jan Möbius's avatar
Jan Möbius committed
87 88 89 90 91 92
			#define DLLEXPORTONLY
		#endif
	#else
		#define DLLEXPORT
		#define DLLEXPORTONLY
	#endif
Jan Möbius's avatar
Jan Möbius committed
93
#endif
Jan Möbius's avatar
 
Jan Möbius committed
94 95 96 97 98


//=============================================================================
#endif // GLOBALDEFINES_HH defined
//=============================================================================