All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
api.h
1//
2// Copyright 2017 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_HD_API_H
8#define PXR_IMAGING_HD_API_H
9
11
12#if defined(PXR_STATIC)
13# define HD_API
14# define HD_API_TEMPLATE_CLASS(...)
15# define HD_API_TEMPLATE_STRUCT(...)
16# define HD_LOCAL
17#else
18# if defined(HD_EXPORTS)
19# define HD_API ARCH_EXPORT
20# define HD_API_TEMPLATE_CLASS(...) ARCH_EXPORT_TEMPLATE(class, __VA_ARGS__)
21# define HD_API_TEMPLATE_STRUCT(...) ARCH_EXPORT_TEMPLATE(struct, __VA_ARGS__)
22# else
23# define HD_API ARCH_IMPORT
24# define HD_API_TEMPLATE_CLASS(...) ARCH_IMPORT_TEMPLATE(class, __VA_ARGS__)
25# define HD_API_TEMPLATE_STRUCT(...) ARCH_IMPORT_TEMPLATE(struct, __VA_ARGS__)
26# endif
27# define HD_LOCAL ARCH_HIDDEN
28#endif
29
30#endif // PXR_IMAGING_HD_API_H
Defines symbol visibility macros.