summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xclaessens@netflix.com>2025-06-08 17:29:24 -0400
committerDylan Baker <dylan@pnwbakers.com>2025-08-01 07:55:49 -0700
commit0dd5c135070a4a0b3e430051b4772e1d6dd0c470 (patch)
treeea13430160d46c99dcaa10413b616c2c05a04de9
parent0cb70e4751cc7f5ea541587c3e0170f08ae450e3 (diff)
downloadmeson-0dd5c135070a4a0b3e430051b4772e1d6dd0c470.tar.gz
cargo: Reconfigure when any Cargo.toml is modified
-rw-r--r--mesonbuild/cargo/interpreter.py3
-rw-r--r--mesonbuild/interpreter/interpreter.py2
2 files changed, 5 insertions, 0 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py
index 4e305c979..b9e03208e 100644
--- a/mesonbuild/cargo/interpreter.py
+++ b/mesonbuild/cargo/interpreter.py
@@ -484,6 +484,9 @@ class Interpreter:
# Rustc's config
self.cfgs = self._get_cfgs()
+ def get_build_def_files(self) -> T.List[str]:
+ return [os.path.join(subdir, 'Cargo.toml') for subdir in self.manifests]
+
def interpret(self, subdir: str) -> mparser.CodeBlockNode:
manifest = self._load_manifest(subdir)
pkg, cached = self._fetch_package(manifest.package.name, manifest.package.api)
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py
index 8f68646d3..d23e9f214 100644
--- a/mesonbuild/interpreter/interpreter.py
+++ b/mesonbuild/interpreter/interpreter.py
@@ -523,6 +523,8 @@ class Interpreter(InterpreterBase, HoldableObject):
self.handle_meson_version(val.value, val)
def get_build_def_files(self) -> mesonlib.OrderedSet[str]:
+ if self.environment.cargo:
+ self.build_def_files.update(self.environment.cargo.get_build_def_files())
return self.build_def_files
def add_build_def_file(self, f: mesonlib.FileOrString) -> None: