121 lines
3.7 KiB
Plaintext
121 lines
3.7 KiB
Plaintext
libsigc++ -- The Typesafe Callback Framework for C++
|
|
|
|
General information:
|
|
|
|
libsigc++ implements a typesafe callback system for standard C++. It
|
|
allows you to define signals and to connect those signals to any
|
|
callback function, either global or a member function, regardless of
|
|
whether it is static or virtual.
|
|
|
|
libsigc++ is used by gtkmm to wrap the GTK+ signal system. It does not
|
|
depend on GTK+ or gtkmm.
|
|
|
|
Further information is available on the libsigc++ project home page:
|
|
https://libsigcplusplus.github.io/libsigcplusplus/
|
|
|
|
License information:
|
|
|
|
Distribution of library and components is under the LGPL as listed in the
|
|
file COPYING. Examples and tests are Public Domain.
|
|
|
|
Contact information:
|
|
Maillist: mailto: libsigc-list@gnome.org
|
|
Homepage: https://libsigcplusplus.github.io/libsigcplusplus/
|
|
Online reference documentation: https://developer.gnome.org/libsigc++/unstable/
|
|
Download: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/
|
|
https://download.gnome.org/sources/libsigc++/
|
|
Git: https://github.com/libsigcplusplus/libsigcplusplus
|
|
Bug reports: https://github.com/libsigcplusplus/libsigcplusplus/issues
|
|
|
|
Compatibility:
|
|
|
|
Compatible compilers must support C++11, such as the decltype() specifier.
|
|
|
|
All releases are tested with the gcc (g++) compiler.
|
|
|
|
# Building
|
|
|
|
Whenever possible, you should use the official binary packages approved by the
|
|
supplier of your operating system, such as your Linux distribution.
|
|
|
|
## Building on Windows
|
|
|
|
See MSVC_NMake/README.txt.
|
|
|
|
## Building from a release tarball
|
|
|
|
It's easiest to build with Meson, if the tarball was made with Meson,
|
|
and to build with Autotools, if the tarball was made with Autotools.
|
|
Then you don't have to use maintainer-mode.
|
|
|
|
How do you know how the tarball was made? If it was made with Meson,
|
|
it contains files in untracked/build_scripts/, untracked/docs/ and possibly
|
|
other subdirectories of untracked/.
|
|
|
|
### Building from a tarball with Meson
|
|
|
|
Don't call the builddir 'build'. There is a directory called 'build' with
|
|
files used by Autotools.
|
|
|
|
If the tarball was made with Autotools, you must enable maintainer-mode:
|
|
$ meson --prefix=/some_directory --libdir=lib -Dmaintainer-mode=true your_builddir .
|
|
If the tarball was made with Meson:
|
|
$ meson --prefix=/some_directory --libdir=lib your_builddir .
|
|
|
|
Then
|
|
$ cd your_builddir
|
|
$ ninja
|
|
$ ninja install
|
|
You can run the tests like so:
|
|
$ ninja test
|
|
|
|
### Building from a tarball with Autotools
|
|
|
|
If the tarball was made with Autotools:
|
|
$ ./configure --prefix=/some_directory
|
|
If the tarball was made with Meson, you must enable maintainer-mode:
|
|
$ ./autogen.sh --prefix=/some_directory
|
|
|
|
Then
|
|
$ make
|
|
$ make install
|
|
You can build the examples and tests, and run the tests, like so:
|
|
$ make check
|
|
|
|
## Building from git
|
|
|
|
Building from git can be difficult so you should prefer building from
|
|
a release tarball unless you need to work on the libsigc++ code itself.
|
|
|
|
jhbuild can be a good help
|
|
https://gitlab.gnome.org/GNOME/jhbuild
|
|
https://wiki.gnome.org/Projects/Jhbuild
|
|
|
|
### Building from git with Meson
|
|
|
|
Maintainer-mode is enabled by default when you build from a git clone.
|
|
|
|
Don't call the builddir 'build'. There is a directory called 'build' with
|
|
files used by Autotools.
|
|
|
|
$ meson --prefix=/some_directory --libdir=lib your_builddir .
|
|
$ cd your_builddir
|
|
$ ninja
|
|
$ ninja install
|
|
You can run the tests like so:
|
|
$ ninja test
|
|
You can create a tarball like so:
|
|
$ ninja dist
|
|
|
|
### Building from git with Autotools
|
|
|
|
$ ./autogen.sh --prefix=/some_directory
|
|
$ make
|
|
$ make install
|
|
You can build the examples and tests, and run the tests, like so:
|
|
$ make check
|
|
You can create a tarball like so:
|
|
$ make distcheck
|
|
or
|
|
$ make dist
|