From e5dacbae5d0ee2a712e6426440685ed3f73d4fbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Fri, 26 Jan 2018 15:46:29 +0100 Subject: [PATCH] meson: add ctags and etags targets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit to create tag files. Idea taken from systemd. Signed-off-by: Guido Günther --- meson.build | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/meson.build b/meson.build index b86030a6..55b07efa 100644 --- a/meson.build +++ b/meson.build @@ -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