PLCnext API Documentation 23.0.2.9
CxxConfig.h
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
7
8#ifndef ARP_INSIDE_ARP_H
9 #error Never include 'CxxConfig.h' directly, just include 'Arp.h'
10#endif
11
12#ifdef _MSC_VER
13
14 #define ARP_CXX_COMPILER_MSC
15 #define ARP_CXX_TOOLSET_MSVC
16
17#elif defined __GNUC__
18
19 #define ARP_CXX_COMPILER_GCC
20
21 #ifdef __MINGW32__
22 #define ARP_CXX_TOOLSET_MINGW
23 #elif defined __CYGWIN__
24 #define ARP_CXX_TOOLSET_CYGWIN
25 #else
26 #define ARP_CXX_TOOLSET_GNUC
27 #endif
28
29#else
30
31 #error "Compiler toolset not supported"
32
33#endif
34
35// define compiler specific attributes or prgmas here
36
37#ifdef ARP_CXX_COMPILER_MSC
38
39 #define ARP_DEPRECATED(msg) __declspec(deprecated(msg))
40
41#elif defined ARP_CXX_COMPILER_GCC
42
43 #define ARP_DEPRECATED(msg) __attribute__((deprecated(msg)))
44
45#else
46
47 #define ARP_DEPRECATED(msg)
48
49#endif // ARP_CXX_COMPILER_xxx
50
51#ifdef ARP_DOXIFY
52
54
56 #define ARP_CXX_COMPILER_MSC
57
59 #define ARP_CXX_COMPILER_GCC
60
62 #define ARP_CXX_TOOLSET_MSVC
63
65 #define ARP_CXX_TOOLSET_GNUC
66
68 #define ARP_CXX_TOOLSET_CYGWIN
69
71 #define ARP_CXX_TOOLSET_MINGW
72
74 #define ARP_DEPRECATED(msg)
75
76#endif // ARP_DOXIFY