1
2/* Define to omit deprecated API from the library. */
3#cmakedefine SIGCXX_DISABLE_DEPRECATED
4
5/* Major version number of sigc++. */
6#cmakedefine SIGCXX_MAJOR_VERSION @SIGCXX_MAJOR_VERSION@
7
8/* Micro version number of sigc++. */
9#cmakedefine SIGCXX_MICRO_VERSION @SIGCXX_MICRO_VERSION@
10
11/* Minor version number of sigc++. */
12#cmakedefine SIGCXX_MINOR_VERSION @SIGCXX_MINOR_VERSION@
13
14/* Detect Win32 platform */
15#ifdef _WIN32
16# if defined(_MSC_VER)
17#  define SIGC_MSC 1
18#  define SIGC_WIN32 1
19#  define SIGC_DLL 1
20# elif defined(__CYGWIN__)
21#  define SIGC_CONFIGURE 1
22# elif defined(__MINGW32__)
23#  define SIGC_WIN32 1
24#  define SIGC_CONFIGURE 1
25# else
26#  error "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)"
27# endif
28#else /* !_WIN32 */
29# define SIGC_CONFIGURE 1
30#endif /* !_WIN32 */
31
32#ifdef SIGC_MSC
33/*
34 * MS VC7 Warning 4251 says that the classes to any member objects in an
35 * exported class must also be exported.  Some of the libsigc++
36 * template classes contain std::list members.  MS KB article 168958 says
37 * that it's not possible to export a std::list instantiation due to some
38 * wacky class nesting issues, so our only options are to ignore the
39 * warning or to modify libsigc++ to remove the std::list dependency.
40 * AFAICT, the std::list members are used internally by the library code
41 * and don't need to be used from the outside, and ignoring the warning
42 * seems to have no adverse effects, so that seems like a good enough
43 * solution for now.
44 */
45# pragma warning(disable:4251)
46
47#if (_MSC_VER < 1900) && !defined (noexcept)
48#define _ALLOW_KEYWORD_MACROS 1
49#define noexcept _NOEXCEPT
50#endif
51
52#else /* SIGC_MSC */
53
54#endif /* !SIGC_MSC */
55
56#ifdef SIGC_DLL
57# if defined(SIGC_BUILD) && defined(_WINDLL)
58#  define SIGC_API __declspec(dllexport)
59# elif !defined(SIGC_BUILD)
60#  define SIGC_API __declspec(dllimport)
61# else
62#  define SIGC_API
63# endif
64#else /* !SIGC_DLL */
65# define SIGC_API
66#endif /* !SIGC_DLL */
67