diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2020-03-14 10:09:03 +0100 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2020-03-14 10:09:03 +0100 |
commit | ba13fdd74208097f4363ccc510dfe50858e0f02d (patch) | |
tree | 35450a35e3f09adc205d5a3588684cdeacef7ffa /README | |
parent | ec96b5ac38beb97d2b84e9ed194c2688d68350ad (diff) | |
download | glibmm-ba13fdd74208097f4363ccc510dfe50858e0f02d.tar.gz |
README: Describe building with Meson and Autotools
Diffstat (limited to 'README')
-rw-r--r-- | README | 94 |
1 files changed, 87 insertions, 7 deletions
@@ -1,12 +1,92 @@ This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org -Installation Procedure ----------------------- +# Building -$ tar xf glibmm-@GLIBMM_VERSION@.tar.gz -$ cd glibmm-@GLIBMM_VERSION@ -$ ./configure --prefix=/some_directory -$ make -$ make install +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 README.win32 + +## Building from a release tarball + +Extract the tarball and go to the extracted directory: + $ tar xf glibmm-@GLIBMM_VERSION@.tar.gz + $ cd glibmm-@GLIBMM_VERSION@ + +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/glib/glibmm/, untracked/gio/giomm/ and +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. + + $ meson --prefix /some_directory --libdir lib your_builddir . + $ cd your_builddir + +If the tarball was made with Autotools, you must enable maintainer-mode: + $ meson configure -Dmaintainer-mode=yes + +Then, reguardless of how the tarball was made: + $ 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, reguardless of how the tarball was made: + $ 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 glibmm 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 |