FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
SFML/include/SFML/Config.hpp at master · iceflowdev/SFML · GitHub
iceflowdev
/
SFML
Public
forked from
SFML/SFML
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
SFML
/
include
/
SFML
/
Config.hpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
231 lines (163 loc) · 6.41 KB
Breadcrumbs
SFML
/
include
/
SFML
/
Config.hpp
Copy path
File metadata and controls
231 lines (163 loc) · 6.41 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
//
//////////////////////////////////////////////////////////
//
//
SFML - Simple and Fast Multimedia Library
//
Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org)
//
//
This software is provided 'as-is', without any express or implied warranty.
//
In no event will the authors be held liable for any damages arising from the use of this software.
//
//
Permission is granted to anyone to use this software for any purpose,
//
including commercial applications, and to alter it and redistribute it freely,
//
subject to the following restrictions:
//
//
1. The origin of this software must not be misrepresented;
//
you must not claim that you wrote the original software.
//
If you use this software in a product, an acknowledgment
//
in the product documentation would be appreciated but is not required.
//
//
2. Altered source versions must be plainly marked as such,
//
and must not be misrepresented as being the original software.
//
//
3. This notice may not be removed or altered from any source distribution.
//
//
//////////////////////////////////////////////////////////
#
ifndef
SFML_CONFIG_HPP
#
define
SFML_CONFIG_HPP
//
//////////////////////////////////////////////////////////
//
Define the SFML version
//
//////////////////////////////////////////////////////////
#
define
SFML_VERSION_MAJOR
2
#
define
SFML_VERSION_MINOR
3
#
define
SFML_VERSION_PATCH
2
//
//////////////////////////////////////////////////////////
//
Identify the operating system
//
see http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system
//
//////////////////////////////////////////////////////////
#
if
defined(_WIN32)
//
Windows
#
define
SFML_SYSTEM_WINDOWS
#
ifndef
NOMINMAX
#
define
NOMINMAX
#
endif
#
elif
defined(__APPLE__) && defined(__MACH__)
//
Apple platform, see which one it is
#
include
"
TargetConditionals.h
"
#
if
TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
//
iOS
#
define
SFML_SYSTEM_IOS
#
elif
TARGET_OS_MAC
//
MacOS
#
define
SFML_SYSTEM_MACOS
#
else
//
Unsupported Apple system
#
error
This Apple operating system is not supported by SFML library
#
endif
#
elif
defined(__unix__)
//
UNIX system, see which one it is
#
if
defined(__ANDROID__)
//
Android
#
define
SFML_SYSTEM_ANDROID
#
elif
defined(__linux__)
//
Linux
#
define
SFML_SYSTEM_LINUX
#
elif
defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
//
FreeBSD
#
define
SFML_SYSTEM_FREEBSD
#
else
//
Unsupported UNIX system
#
error
This UNIX operating system is not supported by SFML library
#
endif
#
else
//
Unsupported system
#
error
This operating system is not supported by SFML library
#
endif
//
//////////////////////////////////////////////////////////
//
Define a portable debug macro
//
//////////////////////////////////////////////////////////
#
if
!defined(NDEBUG)
#
define
SFML_DEBUG
#
endif
//
//////////////////////////////////////////////////////////
//
Define helpers to create portable import / export macros for each module
//
//////////////////////////////////////////////////////////
#
if
!defined(SFML_STATIC)
#
if
defined(SFML_SYSTEM_WINDOWS)
//
Windows compilers need specific (and different) keywords for export and import
#
define
SFML_API_EXPORT
__declspec
(dllexport)
#define
SFML_API_IMPORT
__declspec
(dllimport)
//
For Visual C++ compilers, we also need to turn off this annoying C4251 warning
#ifdef _MSC_VER
#
pragma
warning(disable: 4251)
#
endif
#
else
//
Linux, FreeBSD, Mac OS X
#
if
__GNUC__ >= 4
//
GCC 4 has special keywords for showing/hidding symbols,
//
the same keyword is used for both importing and exporting
#
define
SFML_API_EXPORT
__attribute__
((__visibility__ (
"
default
"
)))
#define
SFML_API_IMPORT
__attribute__
((__visibility__ (
"
default
"
)))
#
else
//
GCC < 4 has no mechanism to explicitely hide symbols, everything's exported
#
define
SFML_API_EXPORT
#
define
SFML_API_IMPORT
#
endif
#
endif
#
else
//
Static build doesn't need import/export macros
#
define
SFML_API_EXPORT
#
define
SFML_API_IMPORT
#
endif
//
//////////////////////////////////////////////////////////
//
Cross-platform warning for deprecated functions and classes
//
//
Usage:
//
class SFML_DEPRECATED MyClass
//
{
//
SFML_DEPRECATED void memberFunc();
//
};
//
//
SFML_DEPRECATED void globalFunc();
//
//////////////////////////////////////////////////////////
#
if
defined(SFML_NO_DEPRECATED_WARNINGS)
//
User explicitly requests to disable deprecation warnings
#
define
SFML_DEPRECATED
#
elif
defined(_MSC_VER)
//
Microsoft C++ compiler
//
Note: On newer MSVC versions, using deprecated functions causes a compiler error. In order to
//
trigger a warning instead of an error, the compiler flag /sdl- (instead of /sdl) must be specified.
#
define
SFML_DEPRECATED
__declspec
(deprecated)
#
elif
defined(__GNUC__)
//
g++ and Clang
#
define
SFML_DEPRECATED
__attribute__
((deprecated))
#
else
//
Other compilers are not supported, leave class or function as-is.
//
With a bit of luck, the #pragma directive works, otherwise users get a warning (no error!) for unrecognized #pragma.
#
pragma
message("SFML_DEPRECATED is not supported for your compiler, please contact the SFML team")
#
define
SFML_DEPRECATED
#
endif
//
//////////////////////////////////////////////////////////
//
Define portable fixed-size types
//
//////////////////////////////////////////////////////////
namespace
sf
{
//
All "common" platforms use the same size for char, short and int
//
(basically there are 3 types for 3 sizes, so no other match is possible),
//
we can use them without doing any kind of check
//
8 bits integer types
typedef
signed
char
Int8;
typedef
unsigned
char
Uint8;
//
16 bits integer types
typedef
signed
short
Int16;
typedef
unsigned
short
Uint16;
//
32 bits integer types
typedef
signed
int
Int32;
typedef
unsigned
int
Uint32;
//
64 bits integer types
#
if
defined(_MSC_VER)
typedef
signed
__int64 Int64;
typedef
unsigned
__int64 Uint64;
#
else
typedef
signed
long
long
Int64;
typedef
unsigned
long
long
Uint64;
#
endif
}
//
namespace sf
#endif
//
SFML_CONFIG_HPP
Back
|
FazBrowse Home
|
New Git URL