summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2019-01-10 09:55:37 +0100
committerMurray Cumming <murrayc@murrayc.com>2019-01-10 10:06:38 +0100
commit014bdf606db1ca3f0bf79423ca53bda67b0b9708 (patch)
tree49c84b55bfc54cf7cfa60be32a6820f6b0cea926
parent8a0cb176cea4b5292484593bfafed682488f3e8e (diff)
downloadsigc++-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.md57
1 files changed, 54 insertions, 3 deletions
diff --git a/README.md b/README.md
index 00ee806..0f220db 100644
--- a/README.md
+++ b/README.md
@@ -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
+```
+