Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gnome/gtkmm-documentation

Read-only mirror of https://gitlab.gnome.org/GNOME/gtkmm-documentation
https://github.com/gnome/gtkmm-documentation

Last synced: about 1 month ago
JSON representation

Read-only mirror of https://gitlab.gnome.org/GNOME/gtkmm-documentation

Awesome Lists containing this project

README

        

# gtkmm-documentation
This is the documentation for gtkmm, a C++ API for GTK.

gtkmm-documentation can be built with Autotools or Meson.
Autotools support may be dropped in the future.

docs/tutorial/C/index-in.docbook and the built index.docbook files are
DocBook 5.0 documents. index.docbook requires these packages (Ubuntu names,
can have other names in other distros):
* docbook5-xml
* docbook-xsl

It may be possible to build without these packages, but it will be much slower.
The xmllint command is told to read files from http://docbook.org.
The xsltproc command is told to read files from http://docbook.sourceforge.net.
The commands first search for local copies of those files. If local copies exist
and are installed at expected locations, the commands make no network accesses.

# General information

Web site
- https://www.gtkmm.org

Download location
- https://download.gnome.org/sources/gtkmm-documentation

Programming with gtkmm4 (gtkmm tutorial)
- https://gnome.pages.gitlab.gnome.org/gtkmm-documentation

Tarballs contain the tutorial in HTML format.
See the docs/tutorial/html directory.

Discussion on GNOME's discourse forum
- https://discourse.gnome.org/tag/cplusplus
- https://discourse.gnome.org/c/platform

Git repository
- https://gitlab.gnome.org/GNOME/gtkmm-documentation

Bugs can be reported to
- https://gitlab.gnome.org/GNOME/gtkmm-documentation/issues

Patches can be submitted to
- https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests

# Building with Meson

Create a build directory:
```
$ cd gtkmm-documentation
$ meson setup [options]
```
Do not call the build-dir gtkmm-documentation/build. There is already such a
directory, used when building with Autotools.

Print a list of configuration options:
```
$ cd
$ meson configure
```

Example of changing options:
```
$ cd
$ meson configure --prefix=/opt/gnome -Dbuild-translations=true
```

Create the html files of the tutorial:
```
$ cd
$ ninja
```

Install them:
```
$ ninja install
```

Build the example programs:
```
$ ninja examples
```
or (probably slower)
```
$ ninja test
```

Create a PDF file:
```
$ meson configure -Dbuild-pdf=true
$ ninja
```
This requires that you have xsltproc and either the dblatex or fop commands
installed.

Make a tarball:
```
$ ninja dist
```
or, if you don't want to build all example programs:
```
$ meson dist --no-tests
```
In addition to the files in the git repository, the tarball will contain some
built files. These files must already exist. `ninja dist` will fail, unless you
have previously run `ninja` with build-translations=true.

This tarball is not identical to one made with `make dist` or `make distcheck`.
There is e.g. no `configure` file. If you want to use a tarball made with
`ninja dist` for building with Autotools, you have to start with ./autogen.sh.