diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2019-10-17 12:47:37 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-10-22 20:48:24 +0300 |
commit | 1ed70e22b9e42b5710e52252ce76212d79737186 (patch) | |
tree | bf5fd6b1b69a33ce26b3bcdbc38c8e80a45933ff /mesonbuild/backend/ninjabackend.py | |
parent | cce172432be30233e9876264c259342d2a2006ad (diff) | |
download | meson-1ed70e22b9e42b5710e52252ce76212d79737186.zip meson-1ed70e22b9e42b5710e52252ce76212d79737186.tar.gz meson-1ed70e22b9e42b5710e52252ce76212d79737186.tar.bz2 |
Add source tags targets
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index fe1eee6..0f65253 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2682,11 +2682,29 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) return self.generate_clangtool('tidy') + def generate_tags(self, tool, target_name): + import shutil + if not shutil.which(tool): + return + if target_name in self.all_outputs: + return + cmd = self.environment.get_build_command() + \ + ['--internal', 'tags', tool, self.environment.source_dir] + elem = NinjaBuildElement(self.all_outputs, 'meson-' + target_name, 'CUSTOM_COMMAND', 'PHONY') + elem.add_item('COMMAND', cmd) + elem.add_item('pool', 'console') + self.add_build(elem) + # Alias that runs the target defined above + self.create_target_alias('meson-' + target_name) + # For things like scan-build and other helper tools we might have. def generate_utils(self): self.generate_scanbuild() self.generate_clangformat() self.generate_clangtidy() + self.generate_tags('etags', 'TAGS') + self.generate_tags('ctags', 'ctags') + self.generate_tags('cscope', 'cscope') cmd = self.environment.get_build_command() + ['--internal', 'uninstall'] elem = NinjaBuildElement(self.all_outputs, 'meson-uninstall', 'CUSTOM_COMMAND', 'PHONY') elem.add_item('COMMAND', cmd) |