OGLplus (0.45.0) a C++ wrapper for OpenGL

config.hpp
Go to the documentation of this file.
1 
12 #pragma once
13 #ifndef OGLPLUS_CONFIG_1107121519_HPP
14 #define OGLPLUS_CONFIG_1107121519_HPP
15 
16 #ifndef OGLPLUS_NO_SITE_CONFIG
17 #include <oglplus/site_config.hpp>
18 #endif
19 
20 #ifndef OGLPLUS_USE_GLEW
21 #define OGLPLUS_USE_GLEW 0
22 #endif
23 
24 #ifndef OGLPLUS_USE_FREEGLUT
25 #define OGLPLUS_USE_FREEGLUT 0
26 #endif
27 
28 #ifndef OGLPLUS_USE_BOOST_CONFIG
29 #define OGLPLUS_USE_BOOST_CONFIG 0
30 #endif
31 
32 #if OGLPLUS_USE_BOOST_CONFIG
33 #include <boost/config.hpp>
34 #endif
35 
37 
38 // define GLAPIENTRY
39 #ifdef GLAPIENTRY
40 #undef GLAPIENTRY
41 #endif
42 // borrowed from glew.h which does define GLAPIENTRY properly
43 // at the beginning but undefs it at the end of the header
44 #if defined(__MINGW32__) || defined(__CYGWIN__)
45 # define GLAPIENTRY __stdcall
46 #elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
47 # define GLAPIENTRY __stdcall
48 #else
49 # define GLAPIENTRY
50 #endif
51 
52 // -------------------- Compile-time configuration ----------------------------
53 
72 #include <oglplus/config_basic.hpp>
73 
74 #if OGLPLUS_DOCUMENTATION_ONLY
75 
85 #define OGLPLUS_DONT_TEST_OBJECT_TYPE
86 #else
87 # ifndef OGLPLUS_DONT_TEST_OBJECT_TYPE
88 # define OGLPLUS_DONT_TEST_OBJECT_TYPE 1
89 # endif
90 #endif
91 
92 
93 #if OGLPLUS_DOCUMENTATION_ONLY
94 
116 #define OGLPLUS_NO_OBJECT_DESCS
117 #else
118 # ifndef OGLPLUS_NO_OBJECT_DESCS
119 # define OGLPLUS_NO_OBJECT_DESCS OGLPLUS_LOW_PROFILE
120 # endif
121 #endif
122 
123 #if OGLPLUS_DOCUMENTATION_ONLY
124 
145 #define OGLPLUS_LAZY_STR_LIT
146 #else
147 # ifndef OGLPLUS_LAZY_STR_LIT
148 # define OGLPLUS_LAZY_STR_LIT OGLPLUS_LOW_PROFILE
149 # endif
150 #endif
151 
152 #if OGLPLUS_DOCUMENTATION_ONLY
153 
165 #define OGLPLUS_NO_ENUM_VALUE_NAMES
166 #else
167 # ifndef OGLPLUS_NO_ENUM_VALUE_NAMES
168 # define OGLPLUS_NO_ENUM_VALUE_NAMES OGLPLUS_LOW_PROFILE
169 # endif
170 #endif
171 
172 #if OGLPLUS_DOCUMENTATION_ONLY
173 
185 #define OGLPLUS_NO_ENUM_VALUE_RANGES
186 #else
187 # ifndef OGLPLUS_NO_ENUM_VALUE_RANGES
188 # define OGLPLUS_NO_ENUM_VALUE_RANGES OGLPLUS_LOW_PROFILE
189 # endif
190 #endif
191 
192 #if OGLPLUS_DOCUMENTATION_ONLY
193 
206 #define OGLPLUS_NO_UTF8_CHECKS
207 #else
208 # ifndef OGLPLUS_NO_UTF8_CHECKS
209 # define OGLPLUS_NO_UTF8_CHECKS OGLPLUS_LOW_PROFILE
210 # endif
211 #endif
212 
213 #if OGLPLUS_DOCUMENTATION_ONLY
214 
230 #define OGLPLUS_NO_GLFUNC_CHECKS
231 #else
232 # ifndef OGLPLUS_NO_GLFUNC_CHECKS
233 # define OGLPLUS_NO_GLFUNC_CHECKS OGLPLUS_LOW_PROFILE
234 # endif
235 #endif
236 
237 #if OGLPLUS_DOCUMENTATION_ONLY
238 
249 #define OGLPLUS_NO_UNIFORM_TYPECHECK
250 #else
251 # ifndef OGLPLUS_NO_UNIFORM_TYPECHECK
252 # define OGLPLUS_NO_UNIFORM_TYPECHECK OGLPLUS_LOW_PROFILE
253 # endif
254 #endif
255 
256 #if OGLPLUS_DOCUMENTATION_ONLY
257 
264 #define OGLPLUS_CUSTOM_ERROR_HANDLING
265 #else
266 # ifndef OGLPLUS_CUSTOM_ERROR_HANDLING
267 # define OGLPLUS_CUSTOM_ERROR_HANDLING 0
268 # endif
269 #endif
270 
271 
272 // Configuration options related to ErrorInfo
273 
274 
275 #if OGLPLUS_DOCUMENTATION_ONLY
276 
284 #define OGLPLUS_ERROR_INFO_NO_GL_SYMBOL
285 #else
286 # ifndef OGLPLUS_ERROR_INFO_NO_GL_SYMBOL
287 # define OGLPLUS_ERROR_INFO_NO_GL_SYMBOL 0
288 # endif
289 #endif
290 
291 #if OGLPLUS_DOCUMENTATION_ONLY
292 
301 #define OGLPLUS_ERROR_INFO_NO_FILE
302 #else
303 # ifndef OGLPLUS_ERROR_INFO_NO_FILE
304 # define OGLPLUS_ERROR_INFO_NO_FILE OGLPLUS_LOW_PROFILE
305 # endif
306 #endif
307 
308 #if OGLPLUS_DOCUMENTATION_ONLY
309 
318 #define OGLPLUS_ERROR_INFO_NO_LINE OGLPLUS_LOW_PROFILE
319 #else
320 # ifndef OGLPLUS_ERROR_INFO_NO_LINE
321 # define OGLPLUS_ERROR_INFO_NO_LINE OGLPLUS_LOW_PROFILE
322 # endif
323 #endif
324 
325 #if OGLPLUS_DOCUMENTATION_ONLY
326 
334 #define OGLPLUS_ERROR_INFO_NO_FUNC
335 #else
336 # ifndef OGLPLUS_ERROR_INFO_NO_FUNC
337 # define OGLPLUS_ERROR_INFO_NO_FUNC 0
338 # endif
339 #endif
340 
341 #if OGLPLUS_DOCUMENTATION_ONLY
342 
350 #define OGLPLUS_ERROR_INFO_NO_CLASS_NAME
351 #else
352 # ifndef OGLPLUS_ERROR_INFO_NO_CLASS_NAME
353 # define OGLPLUS_ERROR_INFO_NO_CLASS_NAME 0
354 # endif
355 #endif
356 
357 #if OGLPLUS_NO_ENUM_VALUE_NAMES
358 #ifdef OGLPLUS_ERROR_INFO_NO_BIND_TARGET
359 #undef OGLPLUS_ERROR_INFO_NO_BIND_TARGET
360 #endif
361 #define OGLPLUS_ERROR_INFO_NO_BIND_TARGET 1
362 #endif
363 
364 #if OGLPLUS_DOCUMENTATION_ONLY
365 
375 #define OGLPLUS_ERROR_INFO_NO_BIND_TARGET
376 #else
377 # ifndef OGLPLUS_ERROR_INFO_NO_BIND_TARGET
378 # define OGLPLUS_ERROR_INFO_NO_BIND_TARGET 0
379 # endif
380 #endif
381 
382 #if OGLPLUS_NO_OBJECT_DESCS
383 #ifdef OGLPLUS_ERROR_INFO_NO_OBJECT_DESC
384 #undef OGLPLUS_ERROR_INFO_NO_OBJECT_DESC
385 #endif
386 #define OGLPLUS_ERROR_INFO_NO_OBJECT_DESC 1
387 #endif
388 
389 #if OGLPLUS_DOCUMENTATION_ONLY
390 
400 #define OGLPLUS_ERROR_INFO_NO_OBJECT_DESC
401 #else
402 # ifndef OGLPLUS_ERROR_INFO_NO_OBJECT_DESC
403 # define OGLPLUS_ERROR_INFO_NO_OBJECT_DESC OGLPLUS_LOW_PROFILE
404 # endif
405 #endif
406 
407 
408 #if OGLPLUS_DOCUMENTATION_ONLY
409 
419 #define OGLPLUS_ERROR_NO_PROPAGATION_INFO
420 #else
421 # ifndef OGLPLUS_ERROR_NO_PROPAGATION_INFO
422 # define OGLPLUS_ERROR_NO_PROPAGATION_INFO OGLPLUS_LOW_PROFILE
423 # endif
424 #endif
425 
426 #if OGLPLUS_DOCUMENTATION_ONLY
427 
437 #define OGLPLUS_ERROR_NO_PROPERTIES
438 #else
439 # ifndef OGLPLUS_ERROR_NO_PROPERTIES
440 # define OGLPLUS_ERROR_NO_PROPERTIES OGLPLUS_LOW_PROFILE
441 # endif
442 #endif
443 
444 
445 #include <oglplus/auxiliary/enum_class.hpp>
446 
447 #endif // include guard

Copyright © 2010-2014 Matúš Chochlík, University of Žilina, Žilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Wed Apr 30 2014 by Doxygen (version 1.8.4).