GCLinkage.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2007 by Basler Vision Technologies
3 // Section: Vision Components
4 // Project: GenICam
5 // Author: Fritz Dierks
6 //
7 // License: This file is published under the license of the EMVA GenICam Standard Group.
8 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
9 // If for some reason you are missing this file please contact the EMVA or visit the website
10 // (http://www.genicam.org) for a full copy.
11 //
12 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
13 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
14 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
16 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
17 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
18 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
19 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
20 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
22 // POSSIBILITY OF SUCH DAMAGE.
23 //-----------------------------------------------------------------------------
29 #ifndef LINKAGE_H
30 #define LINKAGE_H
31 
32 #include <GenICamVersion.h>
33 
34 #if defined (_MSC_VER)
35 
36 # if defined (_WIN32) && defined (_MT )
37 # if defined(GENICAM_USER_ALWAYS_LINK_RELEASE)
38 // for the central installation always the Release version is used
39 # define CONFIGURATION "MD"
40 # else
41 # if defined(_DEBUG) || defined(DEBUG)
42 # define CONFIGURATION "MDd"
43 # else
44 # define CONFIGURATION "MD"
45 # endif
46 # endif // defined(GENICAM_USER_ALWAYS_LINK_RELEASE)
47 # else
48 # error Invalid configuration
49 # endif
50 
51 # if defined(COMPILER) // COMPILER may be force set from outside
52 # undef GENICAM_COMPILER_STR
53 # define GENICAM_COMPILER_STR COMPILER
54 # endif
55 
56 // _MSC_VER==1400 : VC80 : Visual C++ 2005
57 // _MSC_VER==1500 : VC90 : Visual C++ 2008
58 // _MSC_VER==1600 : VC100 : Visual C++ 2010
59 // _MSC_VER==1700 : VC110 : Visual C++ 2012
60 // _MSC_VER==1800 : VC120 : Visual C++ 2013
61 // _MSC_VER==1900 : VC140 : Visual C++ 2015
62 // _MSC_VER==1915 : VC141 : Visual C++ 2017
63 // _MSC_VER==1920 : VC142 : Visual C++ 2019
64 # if !( _MSC_VER==1400 || _MSC_VER==1500 || _MSC_VER==1600 || _MSC_VER==1700 || _MSC_VER==1800 || (_MSC_VER>=1900 && _MSC_VER<=1916) || (_MSC_VER>=1920 && _MSC_VER<=1929)) && ! defined(GENICAM_USER_ACCEPTS_ANY_COMPILER)
65 # define COMPILER_VERSION_2( s ) #s
66 # define COMPILER_VERSION_STRING(version) COMPILER_VERSION_2( version )
67 # pragma message( "Notice: Using GenICam with untested compiler, version " COMPILER_VERSION_STRING(_MSC_VER) " detected!" )
68 # pragma message( "Following versions were tested: 1400, 1500, 1600, 1700, 1800, 1900-1916, 1920-1929." )
69 # undef COMPILER_VERSION_2
70 # undef COMPILER_VERSION_STRING
71 # endif
72 
73 # if defined(GENICAM_COMPANY_SUFFIX)
74 # define GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
75  "_" CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "_" TOSTRING(GENICAM_COMPANY_SUFFIX) "." EXTENSION
76 # else
77 # define GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
78  "_" CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "." EXTENSION
79 # endif
80  // _MDd_VC80_v3_0_Company
81  // _MD_VC80_v3_0_Company
82  // _MDd_VC80_v3_0
83  // _MD_VC80_v3_0
84 
85 # define LIB_SUFFIX \
86  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "lib" )
87 #if defined(UNDER_RTSS)
88 # define DLL_SUFFIX \
89  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "rtdll" )
90 #else
91 # define DLL_SUFFIX \
92  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "dll" )
93 #endif // defined(UNDER_RTSS)
94 # define EXE_SUFFIX \
95  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "exe" )
96 
97 # define DLL_PREFIX ""
98 
99 #elif defined (__GNUC__) && (defined (__linux__) || defined(__APPLE__) || defined(VXWORKS))
100 
101 # if defined(_DEBUG) || defined(DEBUG)
102 # define CONFIGURATION "_d"
103 # else
104 # define CONFIGURATION ""
105 # endif
106 
107 # if defined(GENICAM_COMPANY_SUFFIX)
108 # define GENICAM_SUFFIX( CONFIGURATION, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
109  CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "_" TOSTRING(GENICAM_COMPANY_SUFFIX) "." EXTENSION
110 # else
111 # define GENICAM_SUFFIX( CONFIGURATION, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
112  CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "." EXTENSION
113 # endif
114  // _d_gcc40_v3_0_Company
115  // _gcc40_v3_0_Company
116  // _d_gcc40_v3_0
117  // _gcc40_v3_0
118 
119 
120 # define LIB_SUFFIX \
121  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "a" )
122 
123 # if defined(__linux__)
124 # define DLL_SUFFIX \
125  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "so" )
126 # elif defined(VXWORKS)
127 # define DLL_SUFFIX \
128  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "out" )
129 # else
130 # define DLL_SUFFIX \
131  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "dylib" )
132 # endif
133 
134 # define EXE_SUFFIX \
135  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "" )
136 
137 # if defined(VXWORKS)
138 # define DLL_PREFIX ""
139 # else
140 # define DLL_PREFIX "lib"
141 # endif
142 
143 #else
144 
145 # error Unknown shared library support
146 
147 #endif
148 
149 #define LIB_NAME( MODULE ) \
150  MODULE LIB_SUFFIX
151 
152 #define DLL_NAME( MODULE ) \
153  DLL_PREFIX MODULE DLL_SUFFIX
154 
155 #define EXE_NAME( MODULE ) \
156  MODULE EXE_SUFFIX
157 
158 
159 // The CameraLink standard defines the names for certain DLLs we build that do not match the GenICam naming scheme
160 #if defined(_DEBUG) || defined(DEBUG)
161 # define CAMERALINK_CONFIGURATION "d"
162 #else
163 # define CAMERALINK_CONFIGURATION ""
164 #endif
165 #
166 #if defined(_MSC_VER)
167 # if defined(UNDER_RTSS)
168 # define CAMERALINK_DLL_SUFFIX ".rtdll"
169 # else
170 # define CAMERALINK_DLL_SUFFIX ".dll"
171 # endif
172 #elif defined (__GNUC__) && (defined (__linux__) || defined(__APPLE__) || defined(VXWORKS))
173 # if defined(__linux__)
174 # define CAMERALINK_DLL_SUFFIX ".so"
175 # elif defined(VXWORKS)
176 # define CAMERALINK_DLL_SUFFIX ".out"
177 # else
178 # define CAMERALINK_DLL_SUFFIX ".dylib"
179 # endif
180 #endif
181 #
182 #define CAMERALINK_DLL_NAME( MODULE) \
183  MODULE CAMERALINK_CONFIGURATION CAMERALINK_DLL_SUFFIX
184 
185 #endif // LINKAGE_H
GenICamVersion.h
central versioning counters


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:11