#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