aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2019-10-17 12:47:37 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2019-10-22 20:48:24 +0300
commit1ed70e22b9e42b5710e52252ce76212d79737186 (patch)
treebf5fd6b1b69a33ce26b3bcdbc38c8e80a45933ff /mesonbuild/backend/ninjabackend.py
parentcce172432be30233e9876264c259342d2a2006ad (diff)
downloadmeson-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.py18
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)