Files
CMake/Tests/RunCMake/GenerateExportHeader/reference/MinGW/libstatic_export.h
Corentin Damman 1e19936320 GenerateExportHeader: Fix Clang support on Windows
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.
2023-02-23 09:19:06 +01:00

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 */