This is present on 0.5. It's very easy to reproduce:
cd $(mktemp -d)
mkdir -p include/myproject
touch include/myproject/myfile.h
echo "project('myproject')" > meson.build
echo "install_subdir('include/myproject', install_dir: get_option('includedir'))" >> meson.build
meson builddir
DESTDIR=reldir ninja -C builddir install
ninja: Entering directory `builddir'
[0/1] Installing files.
Installing subdir /tmp/mesonerase/include/myproject to reldir/usr/local/include/myproject
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/mesonbuild/mesonmain.py", line 122, in run
return options.run_func(options)
File "/usr/local/lib/python3.6/dist-packages/mesonbuild/minstall.py", line 514, in run
installer.do_install(datafilename)
File "/usr/local/lib/python3.6/dist-packages/mesonbuild/minstall.py", line 342, in do_install
self.install_subdirs(d) # Must be first, because it needs to delete the old subtree.
File "/usr/local/lib/python3.6/dist-packages/mesonbuild/minstall.py", line 366, in install_subdirs
self.do_copydir(d, src_dir, full_dst_dir, exclude, mode)
File "/usr/local/lib/python3.6/dist-packages/mesonbuild/minstall.py", line 289, in do_copydir
raise ValueError('dst_dir must be absolute, got %s' % dst_dir)
ValueError: dst_dir must be absolute, got reldir/usr/local/include/myproject
The workaround is pretty trivial: "DESTDIR=$PWD/reldir ninja -C builddir install"
This is present on 0.5. It's very easy to reproduce:
cd $(mktemp -d)mkdir -p include/myprojecttouch include/myproject/myfile.hecho "project('myproject')" > meson.buildecho "install_subdir('include/myproject', install_dir: get_option('includedir'))" >> meson.buildmeson builddirDESTDIR=reldir ninja -C builddir installThe workaround is pretty trivial: "DESTDIR=$PWD/reldir ninja -C builddir install"