123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* ----------------------------------------------------------------------------
- * @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 { ... };
- #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
- #cmakedefine BUILD_SHARED_LIBS
- #ifdef _WIN32
- # ifndef BUILD_SHARED_LIBS
- # define @library_name@_EXPORT
- # define @library_name@_EXTERN_EXPORT extern
- # else
- # ifdef @library_name@_EXPORTS
- # define @library_name@_EXPORT __declspec(dllexport)
- # define @library_name@_EXTERN_EXPORT __declspec(dllexport) extern
- # else
- # define @library_name@_EXPORT __declspec(dllimport)
- # define @library_name@_EXTERN_EXPORT __declspec(dllimport)
- # endif
- # endif
- #else
- #ifdef __APPLE__
- # define @library_name@_EXPORT __attribute__((visibility("default")))
- # define @library_name@_EXTERN_EXPORT extern
- #else
- # define @library_name@_EXPORT
- # define @library_name@_EXTERN_EXPORT extern
- #endif
- #endif
- #undef BUILD_SHARED_LIBS
|