diff options
| -rw-r--r-- | mesonbuild/cargo/interpreter.py | 10 | ||||
| -rw-r--r-- | mesonbuild/cargo/manifest.py | 2 |
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 |
