gtsam/cmake/dllexport.h.in

48 lines
1.6 KiB
C
Raw Normal View History

/* ----------------------------------------------------------------------------
* @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 { ... };
// mnaranjo: we don't want dllexport on msys2
//#ifdef _WIN32
//# ifdef @library_name@_EXPORTS
//# define @library_name@_EXPORT __declspec(dllexport)
//# define @library_name@_EXTERN_EXPORT __declspec(dllexport) extern
//# else
//# ifndef @library_name@_IMPORT_STATIC
//# define @library_name@_EXPORT __declspec(dllimport)
//# define @library_name@_EXTERN_EXPORT __declspec(dllimport)
//# else /* @library_name@_IMPORT_STATIC */
//# define @library_name@_EXPORT
//# define @library_name@_EXTERN_EXPORT extern
//# endif /* @library_name@_IMPORT_STATIC */
//# endif /* @library_name@_EXPORTS */
//#else /* _WIN32 */
# define @library_name@_EXPORT
# define @library_name@_EXTERN_EXPORT extern
//#endif