#pragma once

#if defined(ANDROID) || defined(__ANDROID__)
#define OMIM_OS_ANDROID
#define OMIM_OS_NAME "android"
#define OMIM_OS_MOBILE

#elif defined(__APPLE__)
#include <TargetConditionals.h>
#if (TARGET_OS_IPHONE > 0)
#define OMIM_OS_IPHONE
#define OMIM_OS_NAME "ios"
#if (TARGET_IPHONE_SIMULATOR > 0)
#define OMIM_OS_IPHONE_SIMULATOR
#else
#define OMIM_OS_IPHONE_DEVICE
#endif
#define OMIM_OS_MOBILE

#else
#define OMIM_OS_MAC
#define OMIM_OS_NAME "mac"
#define OMIM_OS_DESKTOP
#endif

#elif defined(_WIN32)
#define OMIM_OS_WINDOWS
#define OMIM_OS_NAME "win"
#define OMIM_OS_DESKTOP

#ifdef __MINGW32__
#define OMIM_OS_WINDOWS_MINGW
#else
#define OMIM_OS_WINDOWS_NATIVE
#endif

#else
#define OMIM_OS_LINUX
#define OMIM_OS_NAME "linux"
#define OMIM_OS_DESKTOP
#endif
