DiagramDesigner/common/include/operatingSystem.hpp

50 lines
2.0 KiB
C++

#pragma once
#if defined(__CYGWIN__) || defined(__CYGWIN32__)
#define DIAGRAM_DESIGNER_PLATFORM "Cygwin"
#define DIAGRAM_DESIGNER_PLATFORM_CYGWIN
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#define DIAGRAM_DESIGNER_PLATFORM_WINDOWS
#elif defined(_WIN16) || defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) \
|| defined(__TOS_WIN__) || defined(__WINDOWS__)
#define DIAGRAM_DESIGNER_PLATFORM "Windows"
#define DIAGRAM_DESIGNER_PLATFORM_WINDOWS
#elif defined(macintosh) || defined(Macintosh) || defined(__TOS_MACOS__) \
|| (defined(__APPLE__) && defined(__MACH__))
#define DIAGRAM_DESIGNER_PLATFORM "Mac"
#define DIAGRAM_DESIGNER_PLATFORM_MAC
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#elif defined(linux) || defined(__linux) || defined(__linux__) || defined(__TOS_LINUX__)
#define DIAGRAM_DESIGNER_PLATFORM "Linux"
#define DIAGRAM_DESIGNER_PLATFORM_LINUX
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) \
|| defined(__DragonFly__)
#define DIAGRAM_DESIGNER_PLATFORM "BSD"
#define DIAGRAM_DESIGNER_PLATFORM_BSD
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#elif defined(sun) || defined(__sun)
#define DIAGRAM_DESIGNER_PLATFORM "Solaris"
#define DIAGRAM_DESIGNER_PLATFORM_SOLARIS
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#elif defined(_AIX) || defined(__TOS_AIX__)
#define DIAGRAM_DESIGNER_PLATFORM "AIX"
#define DIAGRAM_DESIGNER_PLATFORM_AIX
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#elif defined(hpux) || defined(_hpux) || defined(__hpux)
#define DIAGRAM_DESIGNER_PLATFORM "HPUX"
#define DIAGRAM_DESIGNER_PLATFORM_HPUX
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#elif defined(__QNX__)
#define DIAGRAM_DESIGNER_PLATFORM "QNX"
#define DIAGRAM_DESIGNER_PLATFORM_QNX
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#elif defined(unix) || defined(__unix) || defined(__unix__)
#define DIAGRAM_DESIGNER_PLATFORM "Unix"
#define DIAGRAM_DESIGNER_PLATFORM_UNIX
#endif
#ifndef DIAGRAM_DESIGNER_PLATFORM
#error "Current platform is not supported."
#endif