mirror of
https://github.com/Kitware/CMake.git
synced 2026-07-25 08:46:18 +00:00
When using Clang with Visual Studio, the GenerateExportHeader function generates the DEPRECATED definition "__attribute__ ((__deprecated__))", because Clang can compile such instruction. However, if a user wants to compile the library with this generated header with MSVC, the declaration is not valid. We suggest to always use the DEPRECATED definition "__declspec(deprecated)" on Windows, which is valid for both Clang and MSVC.
43 lines
953 B
C
43 lines
953 B
C
|
|
#ifndef LIBSTATIC_EXPORT_H
|
|
#define LIBSTATIC_EXPORT_H
|
|
|
|
#ifdef LIBSTATIC_STATIC_DEFINE
|
|
# define LIBSTATIC_EXPORT
|
|
# define LIBSTATIC_NO_EXPORT
|
|
#else
|
|
# ifndef LIBSTATIC_EXPORT
|
|
# ifdef libstatic_EXPORTS
|
|
/* We are building this library */
|
|
# define LIBSTATIC_EXPORT
|
|
# else
|
|
/* We are using this library */
|
|
# define LIBSTATIC_EXPORT
|
|
# endif
|
|
# endif
|
|
|
|
# ifndef LIBSTATIC_NO_EXPORT
|
|
# define LIBSTATIC_NO_EXPORT
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef LIBSTATIC_DEPRECATED
|
|
# define LIBSTATIC_DEPRECATED __declspec(deprecated)
|
|
#endif
|
|
|
|
#ifndef LIBSTATIC_DEPRECATED_EXPORT
|
|
# define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
|
|
#endif
|
|
|
|
#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
|
|
# define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED
|
|
#endif
|
|
|
|
#if 0 /* DEFINE_NO_DEPRECATED */
|
|
# ifndef LIBSTATIC_NO_DEPRECATED
|
|
# define LIBSTATIC_NO_DEPRECATED
|
|
# endif
|
|
#endif
|
|
|
|
#endif /* LIBSTATIC_EXPORT_H */
|