Go to the documentation of this file.
36 #define OGRE_PLATFORM_WIN32 1
37 #define OGRE_PLATFORM_LINUX 2
38 #define OGRE_PLATFORM_APPLE 3
39 #define OGRE_PLATFORM_APPLE_IOS 4
40 #define OGRE_PLATFORM_ANDROID 5
41 #define OGRE_PLATFORM_NACL 6
42 #define OGRE_PLATFORM_WINRT 7
43 #define OGRE_PLATFORM_FLASHCC 8
45 #define OGRE_COMPILER_MSVC 1
46 #define OGRE_COMPILER_GNUC 2
47 #define OGRE_COMPILER_BORL 3
48 #define OGRE_COMPILER_WINSCW 4
49 #define OGRE_COMPILER_GCCE 5
50 #define OGRE_COMPILER_CLANG 6
52 #define OGRE_ENDIAN_LITTLE 1
53 #define OGRE_ENDIAN_BIG 2
55 #define OGRE_ARCHITECTURE_32 1
56 #define OGRE_ARCHITECTURE_64 2
60 #if (defined( __WIN32__ ) || defined( _WIN32 )) && defined(__ANDROID__) // We are using NVTegra
61 # define OGRE_COMPILER OGRE_COMPILER_GNUC
62 # define OGRE_COMP_VER 470
63 #elif defined( __GCCE__ )
64 # define OGRE_COMPILER OGRE_COMPILER_GCCE
65 # define OGRE_COMP_VER _MSC_VER
67 #elif defined( __WINSCW__ )
68 # define OGRE_COMPILER OGRE_COMPILER_WINSCW
69 # define OGRE_COMP_VER _MSC_VER
70 #elif defined( _MSC_VER )
71 # define OGRE_COMPILER OGRE_COMPILER_MSVC
72 # define OGRE_COMP_VER _MSC_VER
73 #elif defined( __clang__ )
74 # define OGRE_COMPILER OGRE_COMPILER_CLANG
75 # define OGRE_COMP_VER (((__clang_major__)*100) + \
76 (__clang_minor__*10) + \
78 #elif defined( __GNUC__ )
79 # define OGRE_COMPILER OGRE_COMPILER_GNUC
80 # define OGRE_COMP_VER (((__GNUC__)*100) + \
81 (__GNUC_MINOR__*10) + \
83 #elif defined( __BORLANDC__ )
84 # define OGRE_COMPILER OGRE_COMPILER_BORL
85 # define OGRE_COMP_VER __BCPLUSPLUS__
86 # define __FUNCTION__ __FUNC__
88 # pragma error "No known compiler. Abort! Abort!"
93 #if OGRE_COMPILER == OGRE_COMPILER_MSVC
94 # if OGRE_COMP_VER >= 1200
95 # define FORCEINLINE __forceinline
97 #elif defined(__MINGW32__)
98 # if !defined(FORCEINLINE)
99 # define FORCEINLINE __inline
102 # define FORCEINLINE __inline
106 #if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(__ANDROID__)
107 # if defined(WINAPI_FAMILY)
108 # define __OGRE_HAVE_DIRECTXMATH 1
109 # include <winapifamily.h>
110 # if WINAPI_FAMILY == WINAPI_FAMILY_APP|| WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
111 # define DESKTOP_APP 1
113 # define OGRE_PLATFORM OGRE_PLATFORM_WINRT
114 # ifndef _CRT_SECURE_NO_WARNINGS
115 # define _CRT_SECURE_NO_WARNINGS
117 # ifndef _SCL_SECURE_NO_WARNINGS
118 # define _SCL_SECURE_NO_WARNINGS
120 # if WINAPI_FAMILY == WINAPI_FAMILY_APP
121 # define OGRE_WINRT_TARGET_TYPE DESKTOP_APP
123 # if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
124 # define OGRE_WINRT_TARGET_TYPE PHONE
127 # define OGRE_PLATFORM OGRE_PLATFORM_WIN32
130 # define OGRE_PLATFORM OGRE_PLATFORM_WIN32
132 #elif defined(__FLASHCC__)
133 # define OGRE_PLATFORM OGRE_PLATFORM_FLASHCC
134 #elif defined( __APPLE_CC__)
135 # ifndef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
136 # define __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ 0
138 # ifndef __IPHONE_OS_VERSION_MIN_REQUIRED
139 # define __IPHONE_OS_VERSION_MIN_REQUIRED 0
143 # if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60000 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
144 # define OGRE_PLATFORM OGRE_PLATFORM_APPLE_IOS
146 # define OGRE_PLATFORM OGRE_PLATFORM_APPLE
148 #elif defined(__ANDROID__)
149 # define OGRE_PLATFORM OGRE_PLATFORM_ANDROID
150 #elif defined( __native_client__ )
151 # define OGRE_PLATFORM OGRE_PLATFORM_NACL
152 # ifndef OGRE_STATIC_LIB
153 # error OGRE must be built as static for NaCl (OGRE_STATIC=true in CMake)
155 # ifdef OGRE_BUILD_RENDERSYSTEM_D3D9
156 # error D3D9 is not supported on NaCl (OGRE_BUILD_RENDERSYSTEM_D3D9 false in CMake)
158 # ifdef OGRE_BUILD_RENDERSYSTEM_GL
159 # error OpenGL is not supported on NaCl (OGRE_BUILD_RENDERSYSTEM_GL=false in CMake)
161 # ifndef OGRE_BUILD_RENDERSYSTEM_GLES2
162 # error GLES2 render system is required for NaCl (OGRE_BUILD_RENDERSYSTEM_GLES2=false in CMake)
165 # define OGRE_PLATFORM OGRE_PLATFORM_LINUX
169 #if defined(__x86_64__) || defined(_M_X64) || defined(__powerpc64__) || defined(__alpha__) || defined(__ia64__) || defined(__s390__) || defined(__s390x__) || defined(__arm64__) || defined(__aarch64__) || defined(__mips64) || defined(__mips64_) || (defined(__riscv) && (__riscv_xlen == 64))
170 # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_64
172 # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_32
178 #define OGRE_QUOTE_INPLACE(x) # x
179 #define OGRE_QUOTE(x) OGRE_QUOTE_INPLACE(x)
180 #define OGRE_WARN( x ) message( __FILE__ "(" QUOTE( __LINE__ ) ") : " x "\n" )
183 #if OGRE_COMPILER == OGRE_COMPILER_MSVC
184 # define OGRE_DEPRECATED __declspec(deprecated)
185 #elif OGRE_COMPILER == OGRE_COMPILER_GNUC || OGRE_COMPILER == OGRE_COMPILER_CLANG
186 # define OGRE_DEPRECATED __attribute__ ((deprecated))
188 # pragma message("WARNING: You need to implement OGRE_DEPRECATED for this compiler")
189 # define OGRE_DEPRECATED
194 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 || OGRE_PLATFORM == OGRE_PLATFORM_WINRT
198 # if defined( OGRE_STATIC_LIB )
201 # define _OgrePrivate
203 # if defined( OGRE_NONCLIENT_BUILD )
204 # define _OgreExport __declspec( dllexport )
206 # if defined( __MINGW32__ )
209 # define _OgreExport __declspec( dllimport )
212 # define _OgrePrivate
216 # if defined(_DEBUG) || defined(DEBUG)
217 # define OGRE_DEBUG_MODE 1
219 # define OGRE_DEBUG_MODE 0
226 #if defined(__MINGW32__)
227 # if OGRE_COMP_VER < 400
228 # if !defined(_STLPORT_VERSION)
230 # if defined(__MINGW32_TOOLBOX_UNICODE__) || OGRE_COMP_VER > 345
231 # define OGRE_UNICODE_SUPPORT 1
233 # define OGRE_UNICODE_SUPPORT 0
236 # define OGRE_UNICODE_SUPPORT 1
239 # define OGRE_UNICODE_SUPPORT 1
242 # define OGRE_UNICODE_SUPPORT 1
245 #endif // OGRE_PLATFORM == OGRE_PLATFORM_WIN32 || OGRE_PLATFORM == OGRE_PLATFORM_WINRT
249 #if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_APPLE || OGRE_PLATFORM == OGRE_PLATFORM_APPLE_IOS || \
250 OGRE_PLATFORM == OGRE_PLATFORM_ANDROID || OGRE_PLATFORM == OGRE_PLATFORM_NACL || OGRE_PLATFORM == OGRE_PLATFORM_FLASHCC
253 # if defined( OGRE_GCC_VISIBILITY )
254 # define _OgreExport __attribute__ ((visibility("default")))
255 # define _OgrePrivate __attribute__ ((visibility("hidden")))
258 # define _OgrePrivate
262 # define stricmp strcasecmp
265 # define OGRE_DEBUG_MODE 1
267 # define OGRE_DEBUG_MODE 0
272 #define OGRE_UNICODE_SUPPORT 1
278 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
279 # ifdef OGRE_UNICODE_SUPPORT
280 # undef OGRE_UNICODE_SUPPORT
282 # define OGRE_UNICODE_SUPPORT 1
284 # define stricmp strcasecmp
286 # define OGRE_DEBUG_MODE 1
288 # define OGRE_DEBUG_MODE 0
290 # ifndef CLOCKS_PER_SEC
291 # define CLOCKS_PER_SEC 1000
297 #if OGRE_PLATFORM == OGRE_PLATFORM_FLASHCC
298 # ifdef OGRE_UNICODE_SUPPORT
299 # undef OGRE_UNICODE_SUPPORT
301 # define OGRE_UNICODE_SUPPORT 0
303 # define OGRE_DEBUG_MODE 1
305 # define OGRE_DEBUG_MODE 0
309 #ifndef __OGRE_HAVE_DIRECTXMATH
310 # define __OGRE_HAVE_DIRECTXMATH 0
316 #ifdef OGRE_CONFIG_BIG_ENDIAN
317 # define OGRE_ENDIAN OGRE_ENDIAN_BIG
319 # define OGRE_ENDIAN OGRE_ENDIAN_LITTLE
324 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
326 # define OGRE_DEFAULT_LOCALE ""
327 #elif OGRE_PLATFORM == OGRE_PLATFORM_APPLE_IOS
328 # define OGRE_DEFAULT_LOCALE "C"
330 # if OGRE_COMPILER == OGRE_COMPILER_MSVC
331 # if _MSC_VER >= 1700
332 # define OGRE_DEFAULT_LOCALE "en-GB"
335 # define OGRE_DEFAULT_LOCALE "uk"
337 # elif OGRE_COMPILER == OGRE_COMPILER_GCCE
339 # define OGRE_DEFAULT_LOCALE "en_GB.UTF8"
341 # if OGRE_NO_LIBCPP_SUPPORT == 0
342 # define OGRE_DEFAULT_LOCALE "en_GB.UTF-8"
344 # define OGRE_DEFAULT_LOCALE "C"
353 # define OGRE_BUILD_SUFFIX "_d"
355 # define OGRE_BUILD_SUFFIX ""
366 #if OGRE_COMPILER == OGRE_COMPILER_MSVC
367 typedef unsigned __int64
uint64;
368 typedef __int64
int64;
375 #if OGRE_COMPILER == OGRE_COMPILER_MSVC
376 #ifndef _CRT_SECURE_NO_WARNINGS
377 # define _CRT_SECURE_NO_WARNINGS
379 #ifndef _SCL_SECURE_NO_WARNINGS
380 # define _SCL_SECURE_NO_WARNINGS
384 # pragma warning (disable : 4786)
387 # pragma warning (disable : 4503)
390 # pragma warning (disable : 4251)
394 # pragma warning (disable : 4275)
398 # pragma warning( disable : 4290 )
402 # pragma warning( disable: 4661)
408 # pragma warning( disable: 4996)
411 # pragma warning (disable : 201)
414 # pragma warning (disable : 4100)
417 # pragma warning (disable : 4345)
unsigned long long uint64
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.