Enigma 3.2.2
A Simple, Reliable and Efficient Encryption Tool
Loading...
Searching...
No Matches
Platform.hpp
Go to the documentation of this file.
1#pragma once
6#ifdef _WIN32
7/* Windows x64/x86 */
8#ifdef _WIN64
9/* Windows x64 */
10#define ENIGMA_PLATFORM_WINDOWS
11#else
12/* Windows x86 */
13#error "x86 Builds are not supported!"
14#endif
15#elif defined(__APPLE__) || defined(__MACH__)
16#include <TargetConditionals.h>
17/* TARGET_OS_MAC exists on all the platforms
18 * so we must check all of them (in this order)
19 * to ensure that we're running on MAC
20 * and not some other Apple platform */
21#if TARGET_IPHONE_SIMULATOR == 1
22#error "IOS simulator is not supported!"
23#elif TARGET_OS_IPHONE == 1
24#define ENIGMA_PLATFORM_IOS
25#error "IOS is not supported!"
26#elif TARGET_OS_MAC == 1
27#define ENIGMA_PLATFORM_MACOS
28#error "MacOS is not supported!"
29#else
30#error "Unknown Apple platform!"
31#endif
32/* We also have to check __ANDROID__ before __linux__
33 * since android is based on the linux kernel
34 * it has __linux__ defined */
35#elif defined(__ANDROID__)
36#define ENIGMA_PLATFORM_ANDROID
37#error "Android is not supported!"
38#elif defined(__linux__)
39#define ENIGMA_PLATFORM_LINUX
40#else
41/* Unknown compiler/platform */
42#error "Unknown platform!"
43#endif