cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cmnExportMacros.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Anton Deguet
7  Created on: 2001-04-11
8 
9  (C) Copyright 2001-2007 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 
20 */
21 
22 
28 // clean
29 #undef CISST_EXPORT
30 
31 // do it only for windows 32 OSs (95/98/me or NT/2000) and Microsoft compilers.
32 // Note: we cannot rely on cmnPortability here because this file is, in fact,
33 // included into cmnPortability.
34 #if defined(WIN32) && defined(_MSC_VER)
35 
36 #ifdef CISST_THIS_LIBRARY_AS_DLL
37 // warning regarding base class not exporting, i.e. all std::
38 #pragma warning (disable: 4275)
39 #define CISST_EXPORT _declspec(dllexport)
40 #elif CISST_DLL // local and import headers
41 // warning regarding base class not exporting, i.e. all std::
42 #pragma warning (disable: 4275)
43 #define CISST_EXPORT _declspec(dllimport)
44 #endif
45 
46 #endif // end windows dll stuff
47 
48 // for all other operating systems and windows static libraries
49 #ifndef CISST_EXPORT
50 #define CISST_EXPORT
51 #endif
52 
53 
54 // Doxygen fake code, special values
55 #ifdef DOXYGEN
56 
57 #undef CISST_EXPORT
58 
104 #define CISST_EXPORT "depends on the OS and compiler"
105 
106 #endif // Doxygen special values
107