PLCnext API Documentation 25.0.2.69
CxxConfig.h
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
7
8#ifndef ARP_USE_ARP_SYSTEM_CORE
9
10// nothing to include here, included by Arp.hpp
11
12#else
13
14#ifndef ARP_INSIDE_ARP_H
15 #error Never include 'CxxConfig.h' directly, just include 'Arp.h'
16#endif
17
18#ifdef _MSC_VER
19
20#define ARP_CXX_COMPILER_MSC
21#define ARP_CXX_TOOLSET_MSVC
22
23#define ARP_DEPRECATED_IGNORE_BEGIN \
24 _Pragma("warning(push)") \
25 _Pragma("warning(disable:4996)")
26
27#define ARP_DEPRECATED_IGNORE_END \
28 _Pragma("warning(pop)")
29
30#elif defined __GNUC__
31
32#define ARP_CXX_COMPILER_GCC
33
34#ifdef __MINGW32__
35 #define ARP_CXX_TOOLSET_MINGW
36#elif defined __CYGWIN__
37 #define ARP_CXX_TOOLSET_CYGWIN
38#else
39 #define ARP_CXX_TOOLSET_GNUC
40#endif
41
42#define ARP_DEPRECATED_IGNORE_BEGIN \
43 _Pragma("GCC diagnostic push") \
44 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
45
46#define ARP_DEPRECATED_IGNORE_END \
47 _Pragma("GCC diagnostic pop")
48
49#else
50
51#error "Compiler toolset not supported"
52
53#endif
54
55#define ARP_DEPRECATED(msg) [[deprecated(msg)]]
56
57#ifdef ARP_DOXIFY
58
60
62 #define ARP_CXX_COMPILER_MSC
63
65 #define ARP_CXX_COMPILER_GCC
66
68 #define ARP_CXX_TOOLSET_MSVC
69
71 #define ARP_CXX_TOOLSET_GNUC
72
74 #define ARP_CXX_TOOLSET_CYGWIN
75
77 #define ARP_CXX_TOOLSET_MINGW
78
80 #define ARP_DEPRECATED(msg)
81
82#endif // ARP_DOXIFY
83#endif // ndef ARP_USE_ARP_SYSTEM_CORE