aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-24 21:28:59 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-24 21:28:59 +0200
commite0f853e733d1556dc6a85f8daab9fd9de843a4c3 (patch)
tree7c56b6e64e14bb1e8a6cedda033f2e716e587374 /backends.py
parenta05021f7495f57f103eff7154b60441865de48cf (diff)
downloadmeson-e0f853e733d1556dc6a85f8daab9fd9de843a4c3.zip
meson-e0f853e733d1556dc6a85f8daab9fd9de843a4c3.tar.gz
meson-e0f853e733d1556dc6a85f8daab9fd9de843a4c3.tar.bz2
Add clean targets for gdca and gcno.
Diffstat (limited to 'backends.py')
-rwxr-xr-xbackends.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/backends.py b/backends.py
index 88237bb..8e066ec 100755
--- a/backends.py
+++ b/backends.py
@@ -610,6 +610,21 @@ class NinjaBackend(Backend):
elem.add_item('aliasing', aliascmd)
elem.write(outfile)
+ def generate_gcov_clean(self, outfile):
+ gcno_elem = NinjaBuildElement('clean-gcno', 'CUSTOM_COMMAND', '')
+ script_root = self.environment.get_script_dir()
+ clean_script = os.path.join(script_root, 'delwithsuffix.py')
+ gcno_elem.add_item('COMMAND', [sys.executable, clean_script, '.', 'gcno'])
+ gcno_elem.add_item('description', 'Deleting gcno files')
+ gcno_elem.write(outfile)
+
+ gcda_elem = NinjaBuildElement('clean-gcda', 'CUSTOM_COMMAND', '')
+ script_root = self.environment.get_script_dir()
+ clean_script = os.path.join(script_root, 'delwithsuffix.py')
+ gcda_elem.add_item('COMMAND', [sys.executable, clean_script, '.', 'gcda'])
+ gcda_elem.add_item('description', 'Deleting gcno files')
+ gcda_elem.write(outfile)
+
def generate_ending(self, outfile):
targetlist = [self.get_target_filename(t) for t in self.build.get_targets().values()]
elem = NinjaBuildElement('all', 'phony', targetlist)
@@ -621,6 +636,10 @@ class NinjaBackend(Backend):
elem = NinjaBuildElement('clean', 'CUSTOM_COMMAND', '')
elem.add_item('COMMAND', ['ninja', '-t', 'clean'])
elem.add_item('description', 'Cleaning')
+ if self.environment.coredata.coverage:
+ self.generate_gcov_clean(outfile)
+ elem.add_dep('clean-gcda')
+ elem.add_dep('clean-gcno')
elem.write(outfile)
deps = [os.path.join(self.build_to_src, df) \