diff options
author | Cary Converse <converse@battelle.org> | 2020-03-29 11:28:02 -0400 |
---|---|---|
committer | Cary Converse <cconverse711@gmail.com> | 2020-06-17 23:02:50 -0400 |
commit | a198e5d191820fda9142d248cd5d134e5f2a5b93 (patch) | |
tree | 3bd671071afd17576389af351e26d33d9544406a /mesonbuild/backend/ninjabackend.py | |
parent | 804cefc94cd334fccccdf3015eb0b3f589f87515 (diff) | |
download | meson-a198e5d191820fda9142d248cd5d134e5f2a5b93.zip meson-a198e5d191820fda9142d248cd5d134e5f2a5b93.tar.gz meson-a198e5d191820fda9142d248cd5d134e5f2a5b93.tar.bz2 |
coverage: llvm-cov support
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 8dbb57a..252f646 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -968,6 +968,13 @@ int dummy; self.processed_targets[target.get_id()] = True def generate_coverage_command(self, elem, outputs): + targets = self.build.get_targets().values() + use_llvm_cov = False + for target in targets: + for compiler in target.compilers.values(): + if compiler.get_id() == 'clang' and not compiler.info.is_darwin(): + use_llvm_cov = True + break elem.add_item('COMMAND', self.environment.get_build_command() + ['--internal', 'coverage'] + outputs + @@ -975,7 +982,8 @@ int dummy; os.path.join(self.environment.get_source_dir(), self.build.get_subproject_dir()), self.environment.get_build_dir(), - self.environment.get_log_dir()]) + self.environment.get_log_dir()] + + ['--use_llvm_cov'] if use_llvm_cov else []) def generate_coverage_rules(self): e = NinjaBuildElement(self.all_outputs, 'meson-coverage', 'CUSTOM_COMMAND', 'PHONY') |