aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-11-02 19:50:54 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2019-11-10 23:45:42 +0200
commit35e809fc5e7c06e46753722bff03b491b6223df9 (patch)
tree340e06887495ee996511bb89e97ccfdb58cc4811 /mesonbuild/backend/ninjabackend.py
parent1238b16c8ec38176cbb8ef4bcfb96b413e98dbe7 (diff)
downloadmeson-35e809fc5e7c06e46753722bff03b491b6223df9.zip
meson-35e809fc5e7c06e46753722bff03b491b6223df9.tar.gz
meson-35e809fc5e7c06e46753722bff03b491b6223df9.tar.bz2
Store run target names in build.
This way we can easily check that we only provide builtin targets such as clang-format if the user has not provided their own.
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 49fb312..50ac44f 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -2648,6 +2648,8 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
def generate_scanbuild(self):
if not environment.detect_scanbuild():
return
+ if ('', 'scan-build') in self.build.run_target_names:
+ return
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()
@@ -2665,6 +2667,8 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
return
if target_name in self.all_outputs:
return
+ if ('', target_name) in self.build.run_target_names:
+ return
cmd = self.environment.get_build_command() + \
['--internal', 'clang' + name, self.environment.source_dir, self.environment.build_dir]
elem = NinjaBuildElement(self.all_outputs, 'meson-' + target_name, 'CUSTOM_COMMAND', 'PHONY')
@@ -2688,6 +2692,8 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
import shutil
if not shutil.which(tool):
return
+ if ('', target_name) in self.build.run_target_names:
+ return
if target_name in self.all_outputs:
return
cmd = self.environment.get_build_command() + \