diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-12-23 16:19:45 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-12-30 00:50:00 +0200 |
commit | 1fca654055d3502d2db9c5aad66a522beaa1df19 (patch) | |
tree | baf97e14e15d57482ed73adba96ab98180ca13d6 /mesonbuild/backend/ninjabackend.py | |
parent | 3b495c397ec1baffe99d63031f2b03301b7f6ba5 (diff) | |
download | meson-1fca654055d3502d2db9c5aad66a522beaa1df19.zip meson-1fca654055d3502d2db9c5aad66a522beaa1df19.tar.gz meson-1fca654055d3502d2db9c5aad66a522beaa1df19.tar.bz2 |
Add a clang-format target.
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index f49649b..5d59fa9 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2579,8 +2579,7 @@ rule FORTRAN_DEP_HACK%s # Alias that runs the target defined above self.create_target_alias('meson-dist', outfile) - # For things like scan-build and other helper tools we might have. - def generate_utils(self, outfile): + def generate_scanbuild(self, outfile): cmd = self.environment.get_build_command() + \ ['--internal', 'scanbuild', self.environment.source_dir, self.environment.build_dir] + \ self.environment.get_build_command() + self.get_user_option_args() @@ -2590,6 +2589,29 @@ rule FORTRAN_DEP_HACK%s elem.write(outfile) # Alias that runs the target defined above self.create_target_alias('meson-scan-build', outfile) + + def generate_clangformat(self, outfile): + import shutil + target_name = 'clang-format' + if shutil.which('clang-format') is None: + return + if not os.path.exists(os.path.join(self.environment.source_dir, '.clang-format')) and \ + not os.path.exists(os.path.join(self.environment.source_dir, '_clang-format')): + return + if 'target_name' in self.all_outputs: + return + cmd = self.environment.get_build_command() + \ + ['--internal', 'clangformat', self.environment.source_dir, self.environment.build_dir] + elem = NinjaBuildElement(self.all_outputs, 'meson-' + target_name, 'CUSTOM_COMMAND', 'PHONY') + elem.add_item('COMMAND', cmd) + elem.add_item('pool', 'console') + elem.write(outfile) + self.create_target_alias('meson-' + target_name, outfile) + + # For things like scan-build and other helper tools we might have. + def generate_utils(self, outfile): + self.generate_scanbuild(outfile) + self.generate_clangformat(outfile) cmd = self.environment.get_build_command() + ['--internal', 'uninstall'] elem = NinjaBuildElement(self.all_outputs, 'meson-uninstall', 'CUSTOM_COMMAND', 'PHONY') elem.add_item('COMMAND', cmd) |