Plasma Engine  2.0
Loading...
Searching...
No Matches
AllDefinesOff.h
1#pragma once
2
4
6#define PL_ON =
7
9#define PL_OFF !
10
12#define PL_ENABLED(x) (1 PL_PP_CONCAT(x, =) 1)
13
15#define PL_DISABLED(x) (1 PL_PP_CONCAT(x, =) 2)
16
18#define PL_IS_NOT_EXCLUSIVE(x, y) ((1 PL_PP_CONCAT(x, =) 1) == (1 PL_PP_CONCAT(y, =) 1))
19
20
21
22// All the supported Platforms
23#define PL_PLATFORM_WINDOWS PL_OFF // enabled for all Windows platforms, both UWP and desktop
24#define PL_PLATFORM_WINDOWS_UWP PL_OFF // enabled for UWP apps, together with PL_PLATFORM_WINDOWS
25#define PL_PLATFORM_WINDOWS_DESKTOP PL_OFF // enabled for desktop apps, together with PL_PLATFORM_WINDOWS
26#define PL_PLATFORM_OSX PL_OFF
27#define PL_PLATFORM_LINUX PL_OFF
28#define PL_PLATFORM_IOS PL_OFF
29#define PL_PLATFORM_ANDROID PL_OFF
30
31// Different Bit OSes
32#define PL_PLATFORM_32BIT PL_OFF
33#define PL_PLATFORM_64BIT PL_OFF
34
35// Different CPU architectures
36#define PL_PLATFORM_ARCH_X86 PL_OFF
37#define PL_PLATFORM_ARCH_ARM PL_OFF
38
39// Endianess
40#define PL_PLATFORM_LITTLE_ENDIAN PL_OFF
41#define PL_PLATFORM_BIG_ENDIAN PL_OFF
42
43// Different Compilers
44#define PL_COMPILER_MSVC PL_OFF
45#define PL_COMPILER_MSVC_CLANG PL_OFF // Clang front-end with MSVC CodeGen
46#define PL_COMPILER_MSVC_PURE PL_OFF // MSVC front-end and CodeGen, no mixed compilers
47#define PL_COMPILER_CLANG PL_OFF
48#define PL_COMPILER_GCC PL_OFF
49
50// How to compile the engine
51#define PL_COMPILE_ENGINE_AS_DLL PL_OFF
52#define PL_COMPILE_FOR_DEBUG PL_OFF
53#define PL_COMPILE_FOR_DEVELOPMENT PL_OFF
54
55// Platform Features
56#define PL_USE_POSIX_FILE_API PL_OFF
57#define PL_USE_LINUX_POSIX_EXTENSIONS PL_OFF // linux specific posix extensions like pipe2, dup3, etc.
58#define PL_USE_CPP20_OPERATORS PL_OFF
59#define PL_SUPPORTS_FILE_ITERATORS PL_OFF
60#define PL_SUPPORTS_FILE_STATS PL_OFF
61#define PL_SUPPORTS_DIRECTORY_WATCHER PL_OFF
62#define PL_SUPPORTS_MEMORY_MAPPED_FILE PL_OFF
63#define PL_SUPPORTS_SHARED_MEMORY PL_OFF
64#define PL_SUPPORTS_DYNAMIC_PLUGINS PL_OFF
65#define PL_SUPPORTS_UNRESTRICTED_FILE_ACCESS PL_OFF
66#define PL_SUPPORTS_CASE_INSENSITIVE_PATHS PL_OFF
67#define PL_SUPPORTS_CRASH_DUMPS PL_OFF
68#define PL_SUPPORTS_LONG_PATHS PL_OFF
69
70// Allocators
71#define PL_ALLOC_GUARD_ALLOCATIONS PL_OFF
72#define PL_ALLOC_TRACKING_DEFAULT plAllocatorTrackingMode::Nothing
73
74// Other Features
75#define PL_USE_PROFILING PL_OFF
76#define PL_USE_STRING_VALIDATION PL_OFF
77
78// Hashed String
81#define PL_HASHED_STRING_REF_COUNTING PL_OFF
82
83// Math Debug Checks
84#define PL_MATH_CHECK_FOR_NAN PL_OFF
85
86// SIMD support
87#define PL_SIMD_IMPLEMENTATION_FPU 1
88#define PL_SIMD_IMPLEMENTATION_SSE 2
89#define PL_SIMD_IMPLEMENTATION_NEON 3
90
91#define PL_SIMD_IMPLEMENTATION 0
92
93// Application entry point code injection (undef and redefine in UserConfig.h if needed)
94#define PL_APPLICATION_ENTRY_POINT_CODE_INJECTION
95
96// Whether 'RuntimeConfigs' files should be searched in the old location
97#define PL_MIGRATE_RUNTIMECONFIGS PL_OFF
98
99// Interoperability with other libraries
100#define PL_INTEROP_STL_STRINGS PL_OFF
101#define PL_INTEROP_STL_SPAN PL_OFF