summaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/interpreter/interpreter.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py
index 3b87f48ea..323daefed 100644
--- a/mesonbuild/interpreter/interpreter.py
+++ b/mesonbuild/interpreter/interpreter.py
@@ -1060,7 +1060,11 @@ class Interpreter(InterpreterBase, HoldableObject):
except cargo.TomlImplementationMissing as e:
raise MesonException(f'Failed to load Cargo.lock: {e!s}')
- ast = cargo_int.interpret(subdir)
+ if os.path.exists(os.path.join(self.environment.get_source_dir(), subdir, environment.build_filename)):
+ ast = None
+ else:
+ ast = cargo_int.interpret(subdir)
+
return self._do_subproject_meson(
subp_name, subdir, default_options, kwargs, ast,
relaxations={InterpreterRuleRelaxation.CARGO_SUBDIR},