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)
88 # pragma warning(disable : 4996)
90 # define OM_OUT_OF_CLASS_TEMPLATE 1
91 # define OM_PARTIAL_SPECIALIZATION 1
92 # define OM_INCLUDE_TEMPLATES 1
94 # error "Version 7 (.NET 2002) or higher of the MS VC++ is required!"
97 # define OM_STATIC_BUILD 1
99 # define OM_REENTRANT 1
101 # define OM_CC "MSVC++"
102 # define OM_CC_VERSION _MSC_VER
105 # if defined(__cplusplus) && !defined(_CPPRTTI)
106 # error "Enable Runtime Type Information (Compiler Option /GR)!"
108 # if !defined(_USE_MATH_DEFINES)
109 # error "You have to define _USE_MATH_DEFINES in the compiler settings!"
112 #elif defined(__BORLANDC__)
113 # error "Borland Compiler are not supported yet!"
115 #elif defined(__GNUC__) && !defined(__ICC)
117 # define OM_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 )
118 # define OM_GCC_MAJOR __GNUC__
119 # define OM_GCC_MINOR __GNUC_MINOR__
120 # if (OM_GCC_VERSION >= 30200)
121 # define OM_TYPENAME typename
122 # define OM_OUT_OF_CLASS_TEMPLATE 1
123 # define OM_PARTIAL_SPECIALIZATION 1
124 # define OM_INCLUDE_TEMPLATES 1
126 # error "Version 3.2.0 or better of the GNU Compiler is required!"
128 # if defined(_REENTRANT)
129 # define OM_REENTRANT 1
132 # define OM_CC_VERSION OM_GCC_VERSION
134 #elif defined(__ICC) || defined(__INTEL_COMPILER)
136 # define OM_TYPENAME typename
137 # define OM_OUT_OF_CLASS_TEMPLATE 1
138 # define OM_PARTIAL_SPECIALIZATION 1
139 # define OM_INCLUDE_TEMPLATES 1
140 # if defined(_REENTRANT) || defined(_MT)
141 # define OM_REENTRANT 1
144 # define OM_CC_VERSION __INTEL_COMPILER
146 # if defined(_MSC_VER) || defined(WIN32)
147 # define OM_STATIC_BUILD 1
150 #elif defined(__MIPS_ISA) || defined(__mips)
158 # define OM_TYPENAME typename
159 # define OM_OUT_OF_CLASS_TEMPLATE 1
160 # define OM_PARTIAL_SPECIALIZATION 1
161 # define OM_INCLUDE_TEMPLATES 0
162 # define OM_CC "MIPS"
163 # define OM_CC_VERSION _COMPILER_VERSION
166 # error "You're using an unsupported compiler!"
170 #endif // OPENMESH_COMPILER_H defined
Project OpenMesh,
© Computer Graphics Group, RWTH Aachen.
Documentation generated using
doxygen
.