Subject: meson: Installing completions

From: Akshay Hegde <[email-masked]>
Date: Mon, 31 Mar 2025 23:46:01 -0700

Hi there,

I found some extra time today so I thought I'd try moving my git
install over to using the new meson build system. Everything went
surprisingly smoothly, which I really appreciated, so thank you!

However, one thing that confused me was that the completions were never
installed automatically as part of `meson install`, even though
I specified them under the '-Dcontrib' option.

I just wanted to double check if I'm supposed to install them manually,
or if I missed enabling some options (I looked through the top-level
meson_options.txt and meson.build files and I don't think I did.)

I'm calling meson setup like so:

    meson setup meson-git-build --prefix=/opt/personal/git/versions/2.49.0 \
        --libdir=/opt/personal/git/versions/2.49.0/lib --buildtype=release \
        --wrap-mode=nofallback --backend=ninja \
        -Dmacos_use_homebrew_gettext=false -Dcontrib=completion,subtree

And I do see both subtree and completion modules being built in the
'meson compile' logs and indeed, I see that git-subtree was
automatically installed, as expected:

    Installing contrib/subtree/git-subtree to /opt/personal/git/versions/2.49.0/libexec/git-core

...So I would have expected the completion module to be automatically
installed as well, but this didn't happen. Rather, it merely got copied
to the internal build folder:

    [669/669] /opt/personal/meson/bin/meson --internal copy ../contrib/completion/git-completion.tcsh contrib/completion/git-completion.tcsh

Of course, I can manually install these to the appropriate locations,
but just checking to make sure I didn't miss anything.

Cheers,
-- 
	Akshay