 |
OpenMesh
|
43 #ifndef OPENMESH_COMPILER_H
44 #define OPENMESH_COMPILER_H
48 #if defined(ACGMAKE_STATIC_BUILD)
49 # define OM_STATIC_BUILD 1
54 #if defined(_DEBUG) || defined(DEBUG)
61 #if defined(_MSC_VER) && \
62 ( defined(__ICL) || defined(__INTEL_COMPILER) || defined(__ICC) )
63 # if !defined(__INTEL_COMPILER)
64 # define __INTEL_COMPILER __ICL
66 # define OM_USE_INTEL_COMPILER 1
74 #if defined(_MSC_VER) && !defined(OM_USE_INTEL_COMPILER)
75 # if (_MSC_VER == 1300)
78 # define OM_OUT_OF_CLASS_TEMPLATE 0
79 # define OM_PARTIAL_SPECIALIZATION 0
80 # define OM_INCLUDE_TEMPLATES 1
81 # elif (_MSC_VER == 1310)
84 # define OM_OUT_OF_CLASS_TEMPLATE 1
85 # define OM_PARTIAL_SPECIALIZATION 1
86 # define OM_INCLUDE_TEMPLATES 1
87 # elif (_MSC_VER >= 1400) // settings for .NET 2005 (NOTE: not fully tested)
89 # define OM_OUT_OF_CLASS_TEMPLATE 1
90 # define OM_PARTIAL_SPECIALIZATION 1
91 # define OM_INCLUDE_TEMPLATES 1
93 # error "Version 7 (.NET 2002) or higher of the MS VC++ is required!"
96 # define OM_STATIC_BUILD 1
98 # define OM_REENTRANT 1
100 # define OM_CC "MSVC++"
101 # define OM_CC_VERSION _MSC_VER
104 # if defined(__cplusplus) && !defined(_CPPRTTI)
105 # error "Enable Runtime Type Information (Compiler Option /GR)!"
107 # if !defined(_USE_MATH_DEFINES)
108 # error "You have to define _USE_MATH_DEFINES in the compiler settings!"
111 #elif defined(__BORLANDC__)
112 # error "Borland Compiler are not supported yet!"
114 #elif defined(__GNUC__) && !defined(__ICC)
116 # define OM_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 )
117 # define OM_GCC_MAJOR __GNUC__
118 # define OM_GCC_MINOR __GNUC_MINOR__
119 # if (OM_GCC_VERSION >= 30200)
120 # define OM_TYPENAME typename
121 # define OM_OUT_OF_CLASS_TEMPLATE 1
122 # define OM_PARTIAL_SPECIALIZATION 1
123 # define OM_INCLUDE_TEMPLATES 1
125 # error "Version 3.2.0 or better of the GNU Compiler is required!"
127 # if defined(_REENTRANT)
128 # define OM_REENTRANT 1
131 # define OM_CC_VERSION OM_GCC_VERSION
133 #elif defined(__ICC) || defined(__INTEL_COMPILER)
135 # define OM_TYPENAME typename
136 # define OM_OUT_OF_CLASS_TEMPLATE 1
137 # define OM_PARTIAL_SPECIALIZATION 1
138 # define OM_INCLUDE_TEMPLATES 1
139 # if defined(_REENTRANT) || defined(_MT)
140 # define OM_REENTRANT 1
143 # define OM_CC_VERSION __INTEL_COMPILER
145 # if defined(_MSC_VER) || defined(WIN32)
146 # define OM_STATIC_BUILD 1
149 #elif defined(__MIPS_ISA) || defined(__mips)
157 # define OM_TYPENAME typename
158 # define OM_OUT_OF_CLASS_TEMPLATE 1
159 # define OM_PARTIAL_SPECIALIZATION 1
160 # define OM_INCLUDE_TEMPLATES 0
161 # define OM_CC "MIPS"
162 # define OM_CC_VERSION _COMPILER_VERSION
165 # error "You're using an unsupported compiler!"
169 #endif // OPENMESH_COMPILER_H defined
Project OpenMesh,
© Computer Graphics Group, RWTH Aachen.
Documentation generated using
doxygen
.