Added way for dependencies to use options and fixed compilation of ImGui with SDL3 backend.

This commit is contained in:
2025-03-13 09:57:39 +01:00
parent 71f8631e48
commit 283aa0f99c
3 changed files with 34 additions and 11 deletions

View File

@@ -348,15 +348,19 @@ def _find_version(env: Environment, dependency: _Dependency):
versions = dependency.recipe.versions(env, update=update, **kwargs)
_sort_versions(versions)
for version in versions:
kwargs = {}
dependencies_signature = inspect.signature(dependency.recipe.dependencies)
if 'options' in dependencies_signature.parameters:
kwargs['options'] = dependency.version_spec.options
if _version_matches(version, dependency.version_spec):
canadd = True
for depname, depspec in dependency.recipe.dependencies(env, version).items():
for depname, depspec in dependency.recipe.dependencies(env, version, **kwargs).items():
if not _can_add_dependency(env, depname, _parse_version_spec(depspec)):
canadd = False
break
if canadd:
depdeps = []
for depname, depspec in dependency.recipe.dependencies(env, version).items():
for depname, depspec in dependency.recipe.dependencies(env, version, **kwargs).items():
depdeps.append(_add_dependency(env, depname, _parse_version_spec(depspec)))
dependency.version = version
dependency.depdeps = depdeps