meson: add ctags and etags targets

to create tag files. Idea taken from systemd.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
This commit is contained in:
Guido Günther 2018-01-26 15:46:29 +01:00
parent ab738256ac
commit e5dacbae5d
1 changed files with 28 additions and 0 deletions

View File

@ -180,3 +180,31 @@ pkgconfig.generate(
name: meson.project_name(),
description: 'Wayland compositor library',
)
git = find_program('git', required: false)
if git.found()
all_files = run_command(
git,
['--git-dir=@0@/.git'.format(meson.source_root()),
'ls-files',
':/*.[ch]'])
all_files = files(all_files.stdout().split())
etags = find_program('etags', required: false)
if etags.found() and all_files.length() > 0
custom_target('etags',
build_by_default: true,
input: all_files,
output: 'TAGS',
command: [etags.path(), '-o', 'TAGS'] + all_files)
endif
ctags = find_program('ctags', required: false)
if ctags.found() and all_files.length() > 0
custom_target('ctags',
build_by_default: true,
input: all_files,
output: 'tags',
command: [ctags.path(), '-o', 'tags'] + all_files)
endif
endif