diff options
author | Murray Cumming <murrayc@murrayc.com> | 2019-01-10 09:55:37 +0100 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2019-01-10 10:06:38 +0100 |
commit | 014bdf606db1ca3f0bf79423ca53bda67b0b9708 (patch) | |
tree | 49c84b55bfc54cf7cfa60be32a6820f6b0cea926 | |
parent | 8a0cb176cea4b5292484593bfafed682488f3e8e (diff) | |
download | sigc++-014bdf606db1ca3f0bf79423ca53bda67b0b9708.tar.gz |
README.md: Add some build hints
This fixes issue #18:
https://github.com/libsigcplusplus/libsigcplusplus/issues/18
Note that this file should not duplicate too much from the website.
Information should be on the website or in the README.md, but rarely in
both places.
-rw-r--r-- | README.md | 57 |
1 files changed, 54 insertions, 3 deletions
@@ -1,5 +1,4 @@ -# libsigc++ -- The Typesafe Callback Framework for C++ - +# libsigc++ : The Typesafe Callback Framework for C++ ## Introduction @@ -18,7 +17,59 @@ See the [libsigc++ web site](https://libsigcplusplus.github.io/libsigcplusplus/) Distribution of library and components is under the LGPL as listed in the file COPYING. Examples and tests are Public Domain. -# Compatibility +## Compatibility Compatible compilers must support C++17, such as the decltype(auto) specifier (from C++14) and std::invoke(). + +## Build + +Whenever possible, you should use the official binary packages approved by the +supplier of your operating system, such as your Linux distribution. For +instance, Ubuntu Linux, Debian Linux and Fedora Linux have official libsigc++ +packages. + +## Building from a release tarball + +Building from the [libsigc++ release tarball](https://github.com/libsigcplusplus/libsigcplusplus/releases) is easier than building from git. + +For instance: +```sh +$ ./configure --prefix=/usr/local +$ make +$ make install +``` + +## 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. + +To build from git you may use either the autotools build (used by most +developers) or CMake (should work too). + +### Building from git with autotools + +You must have autotools properly installed (autoconf, automake, etc) and you +will also need [mm-common](https://gitlab.gnome.org/GNOME/mm-common/). + +```sh +$ ./autogen.sh --prefix=/usr/local +$ make +$ make check +``` + +### Building from git with CMake + +The CMake build is not used very often by the libsigc++ developers, but it +should work, and we would welcome improvements. + +For instance: + +```sh +$ mkdir libsigcplusplus_build +$ cd libsigcplusplus_build +$ cmake path/to/libsigcplusplus +$ make +``` + |