diff options
| author | Xavier Claessens <xclaessens@netflix.com> | 2025-10-17 15:44:00 -0400 |
|---|---|---|
| committer | Xavier Claessens <xclaesse@gmail.com> | 2025-10-17 16:15:42 -0400 |
| commit | f4ad0ef5a3c9ff69daed2987249c9a6fe30465c6 (patch) | |
| tree | 1c457b2761fd0956880c0d81d6fba42d9278563f | |
| parent | 7b7c2a1084135d28036a40b22d34eb6a95544eb8 (diff) | |
| download | meson-f4ad0ef5a3c9ff69daed2987249c9a6fe30465c6.tar.gz | |
cargo: Handle the case default-members is not defined
It should fallback to root package, then all members:
https://doc.rust-lang.org/cargo/reference/workspaces.html#the-default-members-field
| -rw-r--r-- | mesonbuild/cargo/interpreter.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index c403f9707..ba08e6d7c 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -151,8 +151,14 @@ class Interpreter: self.environment.wrap_resolver.load_and_merge(subprojects_dir, T.cast('SubProject', name)) ast: T.List[mparser.BaseNode] = [] if not ws.required_members: - for member in ws.workspace.default_members: - self._require_workspace_member(ws, member) + if ws.workspace.default_members: + for member in ws.workspace.default_members: + self._require_workspace_member(ws, member) + elif ws.workspace.root_package: + self._require_workspace_member(ws, '.') + else: + for member in ws.workspace.members: + self._require_workspace_member(ws, member) # Call subdir() for each required member of the workspace. The order is # important, if a member depends on another member, that member must be |
