Commit graph

12 commits

Author SHA1 Message Date
Pekka Paalanen
6955752b95 doc: fix Meson warning about install_subdir
../../git/weston/doc/sphinx/meson.build:97: WARNING:
Project targets '>= 0.63.0' but uses feature deprecated since '0.60.0':
install_subdir with empty directory. It worked by accident and is buggy.
Use install_emptydir instead.

I get the above warning on a clean build, because the directory in
question is empty at configure time. It gets populated at compile time.

Having to exclude one file from the build complicated fixing this.
custom_target() does not support install-excludes, and it looks like
Sphinx does not allow locating the buildfile elsewhere. One option would
be to use a meson.add_install_script() to delete the unwanted file after
it has been installed, but this seemed more complicated than the
solution I chose.

The intermediate build directory name needs to change from 'doc' to
'weston', so that I don't need to strip_directory which custom_target
does not support. The 'output' array in custom_target() also does not
allow outputs to be speficied in sub-directories.

The sh script is tidied up a little bit with set -e, otherwise it would
have become unreadable.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2025-12-16 15:19:02 +00:00
Daniel Stone
de669aeb60 doc: Tie Sphinx -W to Werror configuration
Only pass -W (warnings are fatal) to Sphinx if we've set Werror in
Meson.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Closes: wayland/weston#917
2024-06-25 17:45:37 +00:00
Philipp Zabel
f8611607ec doc: add workaround for doxygen 1.9.6 bug with cairo >= 1.17.6
Add a workaround to fix rendering the dot files with doxygen 1.9.6
and cairo 1.17.8 on Fedora 38.

This is fixed upstream in doxygen 1.9.7, for details see:

  https://github.com/doxygen/doxygen/issues/9319

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-07-17 14:12:20 +00:00
Daniel Stone
b510f4a9cb build: Avoid Meson warning for run_command() without check
Apparently the old behaviour was to silently succeed if program execution
failed. Setting check: true not only avoids a Meson deprecation warning
for not passing it, but gives us a more clear indication what goes on
when, e.g. breathe doesn't run.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2023-06-30 11:42:00 +00:00
Daniel Stone
386dcd904f build: Switch join_paths(foo, bar) to foo / bar
Available since Meson 0.49.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2023-06-22 14:31:57 +01:00
Pekka Paalanen
d65e819bf7 build: use full_path()
Fixes:

../../git/weston/doc/sphinx/meson.build:57: WARNING: Project targets '>=
0.63.0' but uses feature deprecated since '0.55.0':
ExternalProgram.path. use ExternalProgram.full_path() instead

../../git/weston/doc/sphinx/meson.build:58: WARNING: Project targets '>=
0.63.0' but uses feature deprecated since '0.55.0':
ExternalProgram.path. use ExternalProgram.full_path() instead

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2023-06-22 15:31:35 +03:00
Pekka Paalanen
bd794a0149 build: use project_source_root()
Fixes Meson warning:

../../git/weston/doc/sphinx/meson.build:40: WARNING: Project targets '>=
0.63.0' but uses feature deprecated since '0.56.0': meson.source_root.
use meson.project_source_root() or meson.global_source_root() instead.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2023-06-22 15:28:51 +03:00
Marius Vlad
402d9a81c9 doc/sphinx: Make doxygen warn as error depend on meson werror flag
As seen previous times, with newer doxygen version we seem to be
generating warnings and with it to stop generating documentation
entirely as we have enabled warning as error in the doxygen
configuration file.

By default meson werror build option is not enabled, so users can still
generate documentation when building regularly, and when we'll update to
the same doxygen version we should be able to catch those errors up if
any of them will pile up in between.

Suggested-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2022-09-23 11:37:06 +00:00
Marius Vlad
e5f6e512ce doc/sphinx/doxygen.ini.in: Remove CLASS_DIAGRAM
CLASS_DIAGRAM has been obsolete in newer version of doxygen, and
it's enabled if HAVE_DOT and CLASS_GRAPH are set.

This increase DOT_GRAPH_MAX_NODES to avoid dot complaning,
and include dot/graphviz for doxygen.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2022-07-01 17:20:49 +03:00
Anurup M
09a7dfb12c doc: Avoid weston install useless documentation files
Avoid .doctrees (~3.5 MB) and .buildinfo to be installed

Signed-off-by: Anurup M <anurup.m@huawei.com>
2020-12-09 14:53:00 +00:00
Marius Vlad
64a92265e8 doc/sphinx: No need for doxygen custom target
Unfortunate left over which was not removed once we had the script in
place to regenerate the documentation. A side-effect was the fact that
we still ran the script even if 'docs' target was called, effectively
nullifying the fact that 'docs' target was ran at all. For instance,
'install' would've been executing the script even if 'docs' target
was called before.

This removes the doxygen_target entirely and the depends of sphinx
target on it, makes building and installing docs a bit faster.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2019-07-01 12:20:30 +00:00
Marius Vlad
bbf6ea0b4f build: Add sphinx/breathe support for generating documentation
This is adds basic configuration files for doxygen and for breathe,
which is a doxygen-to-sphinx bridge that can document C symbols.

Breathe is configured with default project 'weston' and implicitly adds
:members: and :undoc-members: to breathe configuration options.
This allows a shorter way to call breathe directives without the need
specify the project and also to display implicitly all the members,
documented or not.

A 'docs' run_target to force the docs to be re-built has been added.
Initially (the first time the build system is ran) the documentation
will automatically be built, but later re-builds will require the use of
the 'docs' target. This avoid further delays in building weston but in
the same time allows the possiblity to update/improve the documentation
bits to those who want that.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2019-06-25 14:05:54 +00:00