#pragma once #if defined(__MINGW32__) || defined(__MINGW64__) #define DIAGRAM_DESIGNER_COMPILER "MinGW" #define DIAGRAM_DESIGNER_COMPILER_MINGW #elif defined(__clang__) #define DIAGRAM_DESIGNER_COMPILER "Clang" #define DIAGRAM_DESIGNER_COMPILER_CLANG #elif defined(_MSC_VER) #define DIAGRAM_DESIGNER_COMPILER "Microsoft Visual C++" #define DIAGRAM_DESIGNER_COMPILER_MICROSOFT #elif defined(__GNUC__) #define DIAGRAM_DESIGNER_COMPILER "GNU" #define DIAGRAM_DESIGNER_COMPILER_GNU #define DIAGRAM_DESIGNER_COMPILER_GNU_VERSION_MAJOR __GNUC__ #define DIAGRAM_DESIGNER_COMPILER_GNU_VERSION_MINOR __GNUC_MINOR__ #define DIAGRAM_DESIGNER_COMPILER_GNU_VERSION_PATCH __GNUC_PATCHLEVEL__ #elif defined(__BORLANDC__) #define DIAGRAM_DESIGNER_COMPILER "Borland C++ Builder" #define DIAGRAM_DESIGNER_COMPILER_BORLAND #elif defined(__CODEGEARC__) #define DIAGRAM_DESIGNER_COMPILER "CodeGear C++ Builder" #define DIAGRAM_DESIGNER_COMPILER_CODEGEAR #elif defined(__INTEL_COMPILER) || defined(__ICL) #define DIAGRAM_DESIGNER_COMPILER "Intel C++" #define DIAGRAM_DESIGNER_COMPILER_INTEL #elif defined(__xlC__) || defined(__IBMCPP__) #define DIAGRAM_DESIGNER_COMPILER "IBM XL C++" #define DIAGRAM_DESIGNER_COMPILER_IBM #elif defined(__HP_aCC) #define DIAGRAM_DESIGNER_COMPILER "HP aC++" #define DIAGRAM_DESIGNER_COMPILER_HP #elif defined(__WATCOMC__) #define DIAGRAM_DESIGNER_COMPILER "Watcom C++" #define DIAGRAM_DESIGNER_COMPILER_WATCOM #endif #ifndef DIAGRAM_DESIGNER_COMPILER #error "Current compiler is not supported." #endif