Plasma Engine  2.0
Loading...
Searching...
No Matches
PlatformFeatures.h
1#pragma once
2
3#ifdef BUILDSYSTEM_ENABLE_GLFW_SUPPORT
4# define PL_SUPPORTS_GLFW PL_ON
5#else
6# define PL_SUPPORTS_GLFW PL_OFF
7#endif
8
9#if PL_ENABLED(PL_PLATFORM_WINDOWS)
10# include <Foundation/Basics/Platform/Win/PlatformFeatures_win.h>
11#elif PL_ENABLED(PL_PLATFORM_OSX)
12# include <Foundation/Basics/Platform/OSX/PlatformFeatures_OSX.h>
13#elif PL_ENABLED(PL_PLATFORM_LINUX)
14# include <Foundation/Basics/Platform/Linux/PlatformFeatures_Linux.h>
15#elif PL_ENABLED(PL_PLATFORM_ANDROID)
16# include <Foundation/Basics/Platform/Android/PlatformFeatures_Android.h>
17#else
18# error "Undefined platform!"
19#endif
20
21// now check that the defines for each feature are set (either to 1 or 0, but they must be defined)
22
23#ifndef PL_SUPPORTS_FILE_ITERATORS
24# error "PL_SUPPORTS_FILE_ITERATORS is not defined."
25#endif
26
27#ifndef PL_USE_POSIX_FILE_API
28# error "PL_USE_POSIX_FILE_API is not defined."
29#endif
30
31#ifndef PL_SUPPORTS_FILE_STATS
32# error "PL_SUPPORTS_FILE_STATS is not defined."
33#endif
34
35#ifndef PL_SUPPORTS_MEMORY_MAPPED_FILE
36# error "PL_SUPPORTS_MEMORY_MAPPED_FILE is not defined."
37#endif
38
39#ifndef PL_SUPPORTS_SHARED_MEMORY
40# error "PL_SUPPORTS_SHARED_MEMORY is not defined."
41#endif
42
43#ifndef PL_SUPPORTS_DYNAMIC_PLUGINS
44# error "PL_SUPPORTS_DYNAMIC_PLUGINS is not defined."
45#endif
46
47#ifndef PL_SUPPORTS_UNRESTRICTED_FILE_ACCESS
48# error "PL_SUPPORTS_UNRESTRICTED_FILE_ACCESS is not defined."
49#endif
50
51#ifndef PL_SUPPORTS_CASE_INSENSITIVE_PATHS
52# error "PL_SUPPORTS_CASE_INSENSITIVE_PATHS is not defined."
53#endif
54
55#ifndef PL_SUPPORTS_LONG_PATHS
56# error "PL_SUPPORTS_LONG_PATHS is not defined."
57#endif