| 
									
										
										
										
											2013-12-23 02:01:39 +08:00
										 |  |  | /* ----------------------------------------------------------------------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  * @library_name@ Copyright 2010, Georgia Tech Research Corporation,  | 
					
						
							|  |  |  |  * Atlanta, Georgia 30332-0415 | 
					
						
							|  |  |  |  * All Rights Reserved | 
					
						
							|  |  |  |  * Authors: Frank Dellaert, et al. (see THANKS for the full author list) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  * See LICENSE for the license information | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  * -------------------------------------------------------------------------- */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * @file     dllexport.h | 
					
						
							|  |  |  |  * @brief    Symbols for exporting classes and methods from DLLs | 
					
						
							|  |  |  |  * @author   Richard Roberts | 
					
						
							|  |  |  |  * @date     Mar 9, 2013 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Macros for exporting DLL symbols on Windows
 | 
					
						
							|  |  |  | // Usage example:
 | 
					
						
							|  |  |  | // In header file:
 | 
					
						
							|  |  |  | //   class GTSAM_EXPORT MyClass { ... };
 | 
					
						
							|  |  |  | //   
 | 
					
						
							|  |  |  | // Results in the following declarations:
 | 
					
						
							|  |  |  | // When included while compiling the GTSAM library itself:
 | 
					
						
							|  |  |  | //   class __declspec(dllexport) MyClass { ... };
 | 
					
						
							|  |  |  | // When included while compiling other code against GTSAM:
 | 
					
						
							|  |  |  | //   class __declspec(dllimport) MyClass { ... };
 | 
					
						
							| 
									
										
										
										
											2017-05-20 09:51:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Whether GTSAM is compiled as static or DLL in windows. 
 | 
					
						
							|  |  |  | // This will be used to decide whether include __declspec(dllimport) or not in headers
 | 
					
						
							| 
									
										
										
										
											2023-02-13 05:29:30 +08:00
										 |  |  | #cmakedefine GTSAM_SHARED_LIB
 | 
					
						
							| 
									
										
										
										
											2017-05-20 09:51:14 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-23 02:01:39 +08:00
										 |  |  | #ifdef _WIN32
 | 
					
						
							| 
									
										
										
										
											2023-02-13 05:29:30 +08:00
										 |  |  | #  ifndef GTSAM_SHARED_LIB
 | 
					
						
							| 
									
										
										
										
											2017-05-20 09:51:14 +08:00
										 |  |  | #    define @library_name@_EXPORT
 | 
					
						
							|  |  |  | #    define @library_name@_EXTERN_EXPORT extern
 | 
					
						
							| 
									
										
										
										
											2018-11-08 22:51:01 +08:00
										 |  |  | #  else
 | 
					
						
							| 
									
										
										
										
											2017-05-20 09:51:14 +08:00
										 |  |  | #    ifdef @library_name@_EXPORTS
 | 
					
						
							|  |  |  | #      define @library_name@_EXPORT __declspec(dllexport)
 | 
					
						
							|  |  |  | #      define @library_name@_EXTERN_EXPORT __declspec(dllexport) extern
 | 
					
						
							| 
									
										
										
										
											2018-11-08 22:51:01 +08:00
										 |  |  | #    else
 | 
					
						
							| 
									
										
										
										
											2013-12-23 02:01:39 +08:00
										 |  |  | #      define @library_name@_EXPORT __declspec(dllimport)
 | 
					
						
							|  |  |  | #      define @library_name@_EXTERN_EXPORT __declspec(dllimport)
 | 
					
						
							| 
									
										
										
										
											2018-11-08 22:51:01 +08:00
										 |  |  | #    endif
 | 
					
						
							|  |  |  | #  endif
 | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2020-08-18 05:13:10 +08:00
										 |  |  | #ifdef __APPLE__
 | 
					
						
							|  |  |  | #  define @library_name@_EXPORT __attribute__((visibility("default")))
 | 
					
						
							|  |  |  | #  define @library_name@_EXTERN_EXPORT extern
 | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2013-12-23 02:01:39 +08:00
										 |  |  | #  define @library_name@_EXPORT
 | 
					
						
							|  |  |  | #  define @library_name@_EXTERN_EXPORT extern
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2020-08-18 05:13:10 +08:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2018-12-21 20:04:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-13 05:29:30 +08:00
										 |  |  | #undef GTSAM_SHARED_LIB
 | 
					
						
							| 
									
										
										
										
											2018-12-21 20:04:15 +08:00
										 |  |  | 
 |