summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/cargo/interpreter.py10
-rw-r--r--mesonbuild/cargo/manifest.py2
2 files changed, 4 insertions, 8 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py
index 204c67743..77f85cff5 100644
--- a/mesonbuild/cargo/interpreter.py
+++ b/mesonbuild/cargo/interpreter.py
@@ -175,14 +175,8 @@ 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:
- 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)
+ for member in ws.workspace.default_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
diff --git a/mesonbuild/cargo/manifest.py b/mesonbuild/cargo/manifest.py
index a194d0120..ec84e4b16 100644
--- a/mesonbuild/cargo/manifest.py
+++ b/mesonbuild/cargo/manifest.py
@@ -568,6 +568,8 @@ class Workspace:
ws = _raw_to_dataclass(raw['workspace'], cls, 'Workspace')
if 'package' in raw:
ws.root_package = Manifest.from_raw(raw, path, ws, '.')
+ if not ws.default_members:
+ ws.default_members = ['.'] if ws.root_package else ws.members
return ws