CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
AECBuildSettings.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a
16// license agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24#ifndef __AECBUILDSETTINGS_H__
25#define __AECBUILDSETTINGS_H__
26
27#include "OdaCommon.h"
28
29 #if defined(ODA_WINDOWS)
30 #pragma warning( disable: 4275 4251 )
31 #endif
32
33 #define TA_DLL_EXPORT OD_DLL_EXPORT
34 #define TA_DLL_IMPORT OD_DLL_IMPORT
35
36#ifdef ADT_STATIC_BUILD
37
38 #define AECARCHBASE_API
39 #define AECARCHBASE_API_STATIC
40
41 #define AECARCHDACHBASE_API
42 #define AECARCHDACHBASE_API_STATIC
43
44 #define AECBASE_API
45 #define AECBASE_API_STATIC
46
47 #define AECGEOMETRY_API
48 #define AECGEOMETRY_API_STATIC
49
50 #define AECSCHEDULE_API
51 #define AECSCHEDULE_API_STATIC
52
53 #define AECSCHEDULEDATA_API
54 #define AECSCHEDULEDATA_API_STATIC
55
56 #define AECSTRUCTUREBASE_API
57 #define AECSTRUCTUREBASE_API_STATIC
58
59 #define AECTESTS_API
60 #define AECTESTS_API_STATIC
61
62#elif defined(ADT_DYNAMIC_BUILD)
63
64 #ifdef AECARCHBASE_EXPORTS
65 #define AECARCHBASE_API TA_DLL_EXPORT
66 #define AECARCHBASE_API_STATIC
67 #else
68 #define AECARCHBASE_API
69 #define AECARCHBASE_API_STATIC TA_DLL_IMPORT
70 #endif
71
72 #ifdef AECARCHDACHBASE_EXPORTS
73 #define AECARCHDACHBASE_API TA_DLL_EXPORT
74 #define AECARCHDACHBASE_API_STATIC
75 #else
76 #define AECARCHDACHBASE_API
77 #define AECARCHDACHBASE_API_STATIC TA_DLL_IMPORT
78 #endif
79
80 #ifdef AECBASE_EXPORTS
81 #define AECBASE_API TA_DLL_EXPORT
82 #define AECBASE_API_STATIC
83 #else
84 #define AECBASE_API
85 #define AECBASE_API_STATIC TA_DLL_IMPORT
86 #endif
87
88 #ifdef AECGEOMETRY_EXPORTS
89 #define AECGEOMETRY_API TA_DLL_EXPORT
90 #define AECGEOMETRY_API_STATIC
91 #else
92 #define AECGEOMETRY_API
93 #define AECGEOMETRY_API_STATIC TA_DLL_IMPORT
94 #endif
95
96 #ifdef AECSCHEDULE_EXPORTS
97 #define AECSCHEDULE_API TA_DLL_EXPORT
98 #define AECSCHEDULE_API_STATIC
99 #else
100 #define AECSCHEDULE_API
101 #define AECSCHEDULE_API_STATIC TA_DLL_IMPORT
102 #endif
103
104 #ifdef AECSCHEDULEDATA_EXPORTS
105 #define AECSCHEDULEDATA_API TA_DLL_EXPORT
106 #define AECSCHEDULEDATA_API_STATIC
107 #else
108 #define AECSCHEDULEDATA_API
109 #define AECSCHEDULEDATA_API_STATIC TA_DLL_IMPORT
110 #endif
111
112 #ifdef AECSTRUCTUREBASE_EXPORTS
113 #define AECSTRUCTUREBASE_API TA_DLL_EXPORT
114 #define AECSTRUCTUREBASE_API_STATIC
115 #else
116 #define AECSTRUCTUREBASE_API
117 #define AECSTRUCTUREBASE_API_STATIC TA_DLL_IMPORT
118 #endif
119
120 #ifdef AECTESTS_EXPORTS
121 #define AECTESTS_API TA_DLL_EXPORT
122 #define AECTESTS_API_STATIC
123 #else
124 #define AECTESTS_API
125 #define AECTESTS_API_STATIC TA_DLL_IMPORT
126 #endif
127
128#else
129
130 #error "You must choose STATIC or DYNAMIC build setting! Use ADT_STATIC_BUILD or ADT_DYNAMIC_BUILD defines."
131
132#endif
133
134#endif //__AECBUILDSETTINGS_H__