1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
# 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] <build-dir>
```
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 <build-dir>
$ meson configure
```
Example of changing options:
```
$ cd <build-dir>
$ meson configure --prefix=/opt/gnome -Dbuild-translations=true
```
Create the html files of the tutorial:
```
$ cd <build-dir>
$ 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.
|