iutest  1.17.99.14
iutest_platform.hpp
[詳解]
1 //======================================================================
2 //-----------------------------------------------------------------------
13 //-----------------------------------------------------------------------
14 //======================================================================
15 #ifndef INCG_IRIS_IUTEST_PLATFORM_HPP_38809F61_271D_4B85_A51E_211004A99F5A_
16 #define INCG_IRIS_IUTEST_PLATFORM_HPP_38809F61_271D_4B85_A51E_211004A99F5A_
17 
18 //======================================================================
19 // define
20 
21 // os
22 #if defined(__CYGWIN__)
23 # define IUTEST_OS_CYGWIN 1
24 # define IUTEST_PLATFORM "CYGWIN"
25 #elif defined(_WIN32) || defined(WIN32) || defined(__WIN32__) || defined(WINAPI_FAMILY)
26 # define IUTEST_OS_WINDOWS 1
27 # if defined(_WIN64) || defined(WIN64) || defined(__WIN64__)
28 # define IUTEST_OS_WINDOWS64 1
29 # endif
30 # if !defined(WIN32_LEAN_AND_MEAN)
31 # define WIN32_LEAN_AND_MEAN
32 # endif
33 # include <Windows.h>
34 # if defined(_WIN32_WCE)
35 # define IUTEST_OS_WINDOWS_MOBILE 1
36 # define IUTEST_PLATFORM "Windows CE"
37 # elif defined(__MINGW__) || defined(__MINGW32__) || defined(__MINGW64__)
38 # define IUTEST_OS_WINDOWS_MINGW 1
39 # elif defined(__WINE__)
40 # define IUTEST_OS_WINDOWS_WINE 1
41 # define IUTEST_PLATFORM "WINE"
42 # elif defined(__CUDACC__)
43 # define IUTEST_OS_WINDOWS_CUDA 1
44 # elif defined(WINAPI_FAMILY)
45 # if defined(WINAPI_FAMILY_PHONE_APP) && (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
46 # define IUTEST_OS_WINDOWS_PHONE 1
47 # define IUTEST_PLATFORM "Windows Phone"
48 # elif defined(WINAPI_FAMILY_APP) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
49 # define IUTEST_OS_WINDOWS_RT 1
50 # define IUTEST_PLATFORM "Windows RT"
51 # else
52 # define IUTEST_OS_WINDOWS_DESKTOP 1
53 # endif
54 # else
55 # define IUTEST_OS_WINDOWS_DESKTOP 1
56 # endif
57 # if !defined(IUTEST_PLATFORM)
58 # define IUTEST_PLATFORM "Windows"
59 # endif
60 #elif defined(__APPLE__)
61 # include "TargetConditionals.h"
62 # if TARGET_OS_IPHONE
63 # define IUTEST_OS_IOS 1
64 # define IUTEST_PLATFORM "iOS"
65 # else
66 # define IUTEST_OS_MAC 1
67 # define IUTEST_PLATFORM "Mac OS"
68 # endif
69 #elif defined(__FreeBSD__)
70 # define IUTEST_OS_FREEBSD 1
71 # define IUTEST_PLATFORM "FreeBSD"
72 #elif defined(sun) || defined(__sun)
73 # define IUTEST_OS_SOLARIS 1
74 # define IUTEST_PLATFORM "Solaris"
75 #elif defined(__linux__)
76 # define IUTEST_OS_LINUX 1
77 # if defined(ANDROID) || defined(__ANDROID__)
78 # define IUTEST_OS_LINUX_ANDROID 1
79 # define IUTEST_PLATFORM "Android"
80 # else
81 # define IUTEST_PLATFORM "LINUX"
82 # endif
83 #elif defined(__native_client__)
84 # define IUTEST_OS_NACL 1
85 # define IUTEST_PLATFORM "Google Native Client"
86 #elif defined(__AVR32__) || defined(__avr32__)
87 # define IUTEST_OS_AVR32 1
88 # define IUTEST_PLATFORM "AVR32"
89 #endif
90 
91 #if defined(IUTEST_OS_LINUX_ANDROID)
92 # include <android/api-level.h>
93 #endif
94 
95 #endif // INCG_IRIS_IUTEST_PLATFORM_HPP_38809F61_271D_4B85_A51E_211004A99F5A_