Go to the documentation of this file.
10 #ifndef VTKM_SOURCE_EXPORT_H
11 #define VTKM_SOURCE_EXPORT_H
13 #if defined(VTKM_DOXYGEN_ONLY)
14 # define VTKM_SOURCE_EXPORT_DEFINE
15 # define VTKM_SOURCE_IMPORT_DEFINE
16 # define VTKM_SOURCE_NO_EXPORT_DEFINE
17 #elif defined(_MSC_VER)
24 # define VTKM_SOURCE_EXPORT_DEFINE
25 # define VTKM_SOURCE_IMPORT_DEFINE
26 # define VTKM_SOURCE_NO_EXPORT_DEFINE
28 # define VTKM_SOURCE_EXPORT_DEFINE __declspec(dllexport)
29 # define VTKM_SOURCE_IMPORT_DEFINE __declspec(dllimport)
30 # define VTKM_SOURCE_NO_EXPORT_DEFINE
33 # define VTKM_SOURCE_EXPORT_DEFINE __attribute__((visibility("default")))
34 # define VTKM_SOURCE_IMPORT_DEFINE __attribute__((visibility("default")))
35 # define VTKM_SOURCE_NO_EXPORT_DEFINE __attribute__((visibility("hidden")))
38 #ifndef VTKM_SOURCE_EXPORT
39 # if defined(vtkm_source_EXPORTS)
41 # define VTKM_SOURCE_EXPORT VTKM_SOURCE_EXPORT_DEFINE
44 # define VTKM_SOURCE_EXPORT VTKM_SOURCE_IMPORT_DEFINE
48 #ifndef VTKM_SOURCE_TEMPLATE_EXPORT
49 # if defined(vtkm_source_EXPORTS) && defined(_MSC_VER)
56 # define VTKM_SOURCE_TEMPLATE_EXPORT
57 # elif defined(vtkm_source_EXPORTS)
59 # define VTKM_SOURCE_TEMPLATE_EXPORT VTKM_SOURCE_EXPORT_DEFINE
62 # define VTKM_SOURCE_TEMPLATE_EXPORT VTKM_SOURCE_IMPORT_DEFINE
66 #ifndef VTKM_SOURCE_NO_EXPORT
67 #define VTKM_SOURCE_NO_EXPORT VTKM_SOURCE_NO_EXPORT_DEFINE