 |
OpenMesh
|
45 #ifndef OPENMESH_COMPILER_H
46 #define OPENMESH_COMPILER_H
50 #if defined(ACGMAKE_STATIC_BUILD)
51 # define OM_STATIC_BUILD 1
56 #if defined(_DEBUG) || defined(DEBUG)
63 #if defined(_MSC_VER) && \
64 ( defined(__ICL) || defined(__INTEL_COMPILER) || defined(__ICC) )
65 # if !defined(__INTEL_COMPILER)
66 # define __INTEL_COMPILER __ICL
68 # define OM_USE_INTEL_COMPILER 1
76 #if defined(_MSC_VER) && !defined(OM_USE_INTEL_COMPILER)
77 # if (_MSC_VER == 1300)
80 # define OM_OUT_OF_CLASS_TEMPLATE 0
81 # define OM_PARTIAL_SPECIALIZATION 0
82 # define OM_INCLUDE_TEMPLATES 1
83 # elif (_MSC_VER == 1310)
86 # define OM_OUT_OF_CLASS_TEMPLATE 1
87 # define OM_PARTIAL_SPECIALIZATION 1
88 # define OM_INCLUDE_TEMPLATES 1
89 # elif (_MSC_VER >= 1400) // settings for .NET 2005 (NOTE: not fully tested)
91 # define OM_OUT_OF_CLASS_TEMPLATE 1
92 # define OM_PARTIAL_SPECIALIZATION 1
93 # define OM_INCLUDE_TEMPLATES 1
95 # error "Version 7 (.NET 2002) or higher of the MS VC++ is required!"
98 # define OM_STATIC_BUILD 1
100 # define OM_REENTRANT 1
102 # define OM_CC "MSVC++"
103 # define OM_CC_VERSION _MSC_VER
106 # if defined(__cplusplus) && !defined(_CPPRTTI)
107 # error "Enable Runtime Type Information (Compiler Option /GR)!"
109 # if !defined(_USE_MATH_DEFINES)
110 # error "You have to define _USE_MATH_DEFINES in the compiler settings!"
113 #elif defined(__BORLANDC__)
114 # error "Borland Compiler are not supported yet!"
116 #elif defined(__GNUC__) && !defined(__ICC)
118 # define OM_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 )
119 # define OM_GCC_MAJOR __GNUC__
120 # define OM_GCC_MINOR __GNUC_MINOR__
121 # if (OM_GCC_VERSION >= 30200)
122 # define OM_TYPENAME typename
123 # define OM_OUT_OF_CLASS_TEMPLATE 1
124 # define OM_PARTIAL_SPECIALIZATION 1
125 # define OM_INCLUDE_TEMPLATES 1
127 # error "Version 3.2.0 or better of the GNU Compiler is required!"
129 # if defined(_REENTRANT)
130 # define OM_REENTRANT 1
133 # define OM_CC_VERSION OM_GCC_VERSION
135 #elif defined(__ICC) || defined(__INTEL_COMPILER)
137 # define OM_TYPENAME typename
138 # define OM_OUT_OF_CLASS_TEMPLATE 1
139 # define OM_PARTIAL_SPECIALIZATION 1
140 # define OM_INCLUDE_TEMPLATES 1
141 # if defined(_REENTRANT) || defined(_MT)
142 # define OM_REENTRANT 1
145 # define OM_CC_VERSION __INTEL_COMPILER
147 # if defined(_MSC_VER) || defined(WIN32)
148 # define OM_STATIC_BUILD 1
151 #elif defined(__MIPS_ISA) || defined(__mips)
159 # define OM_TYPENAME typename
160 # define OM_OUT_OF_CLASS_TEMPLATE 1
161 # define OM_PARTIAL_SPECIALIZATION 1
162 # define OM_INCLUDE_TEMPLATES 0
163 # define OM_CC "MIPS"
164 # define OM_CC_VERSION _COMPILER_VERSION
167 # error "You're using an unsupported compiler!"
171 #endif // OPENMESH_COMPILER_H defined
Project OpenMesh,
© Computer Graphics Group, RWTH Aachen.
Documentation generated using
doxygen
.