gi-docgen include path is broken
I'm not sure what this was supposed to do, but it's quite obviously broken:
custom_target('libadwaita-doc',
input: [ libadwaita_toml, libadwaita_gir[0] ],
output: 'libadwaita-@0@'.format(apiversion),
command: [
gidocgen,
'generate',
'--quiet',
'--add-include-path=@0@'.format(meson.current_build_dir() / '../../src'),
'--config=@INPUT0@',
'--output-dir=@OUTPUT@',
'--no-namespace-dir',
'--content-dir=@0@'.format(meson.current_source_dir()),
'@INPUT1@',
],
depend_files: [ expand_content_md_files ],
build_by_default: true,
install: true,
install_dir: docs_dir,
)
The --add-include-path
line specifically. If it's trying to find the src
subfolder in the repo / source tree, it should be meson.project_source_root() / 'src'
. If it's trying to find the corresponding src
subfolder in the build tree, it should be meson.current_build_dir() / '../src'
(one less layer of ..
), or better yet meson.project_build_root() / 'src'
.
meson.current_build_dir() / '../../src'
just doesn't exist here:
[4/4] /usr/bin/gi-docgen generate --quiet --add-include-path=/home/sergey/libadwaita/just-a-dir/build/doc/../../src --config=doc/libadwaita.toml --output-dir=doc/libadwaita-1 --no-namespace-dir --content-dir=/home/sergey/libadwaita/doc src/Adw-1.gir
...
$ file /home/sergey/libadwaita/just-a-dir/build/doc/../../src
/home/sergey/libadwaita/just-a-dir/build/doc/../../src: cannot open `/home/sergey/libadwaita/just-a-dir/build/doc/../../src' (No such file or directory)
I'd expect gi-docgen
to print a warning about this (adding a nonexistent directory), but it does not seem to.