DiagramDesigner/common/include/compiler.hpp

41 lines
1.5 KiB
C++
Raw Normal View History

2025-02-06 16:36:50 +08:00
#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