1 libsigc++ -- The Typesafe Callback Framework for C++
5 libsigc++ implements a typesafe callback system for standard C++. It
6 allows you to define signals and to connect those signals to any
7 callback function, either global or a member function, regardless of
8 whether it is static or virtual.
10 libsigc++ is used by gtkmm to wrap the GTK+ signal system. It does not
11 depend on GTK+ or gtkmm.
13 Further information is available on the libsigc++ project home page:
14 https://libsigcplusplus.github.io/libsigcplusplus/
18 Distribution of library and components is under the LGPL as listed in the
19 file COPYING. Examples and tests are Public Domain.
22 Maillist: mailto: libsigc-list@gnome.org
23 Homepage: https://libsigcplusplus.github.io/libsigcplusplus/
24 Online reference documentation: https://developer.gnome.org/libsigc++/unstable/
25 Download: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/
26 https://download.gnome.org/sources/libsigc++/
27 Git: https://github.com/libsigcplusplus/libsigcplusplus
28 Bug reports: https://github.com/libsigcplusplus/libsigcplusplus/issues
32 Compatible compilers must support C++11, such as the decltype() specifier.
34 All releases are tested with the gcc (g++) compiler.
38 Whenever possible, you should use the official binary packages approved by the
39 supplier of your operating system, such as your Linux distribution.
41 ## Building on Windows
43 See MSVC_NMake/README.txt.
45 ## Building from a release tarball
47 It's easiest to build with Meson, if the tarball was made with Meson,
48 and to build with Autotools, if the tarball was made with Autotools.
49 Then you don't have to use maintainer-mode.
51 How do you know how the tarball was made? If it was made with Meson,
52 it contains files in untracked/build_scripts/, untracked/docs/ and possibly
53 other subdirectories of untracked/.
55 ### Building from a tarball with Meson
57 Don't call the builddir 'build'. There is a directory called 'build' with
58 files used by Autotools.
60 If the tarball was made with Autotools, you must enable maintainer-mode:
61 $ meson --prefix=/some_directory --libdir=lib -Dmaintainer-mode=true your_builddir .
62 If the tarball was made with Meson:
63 $ meson --prefix=/some_directory --libdir=lib your_builddir .
69 You can run the tests like so:
72 ### Building from a tarball with Autotools
74 If the tarball was made with Autotools:
75 $ ./configure --prefix=/some_directory
76 If the tarball was made with Meson, you must enable maintainer-mode:
77 $ ./autogen.sh --prefix=/some_directory
82 You can build the examples and tests, and run the tests, like so:
87 Building from git can be difficult so you should prefer building from
88 a release tarball unless you need to work on the libsigc++ code itself.
90 jhbuild can be a good help
91 https://gitlab.gnome.org/GNOME/jhbuild
92 https://wiki.gnome.org/Projects/Jhbuild
94 ### Building from git with Meson
96 Maintainer-mode is enabled by default when you build from a git clone.
98 Don't call the builddir 'build'. There is a directory called 'build' with
99 files used by Autotools.
101 $ meson --prefix=/some_directory --libdir=lib your_builddir .
105 You can run the tests like so:
107 You can create a tarball like so:
110 ### Building from git with Autotools
112 $ ./autogen.sh --prefix=/some_directory
115 You can build the examples and tests, and run the tests, like so:
117 You can create a tarball like so: