dependencies: Dependency.sources can have CustomTargets

pull/9347/head
Dylan Baker 4 years ago
parent 7c3f256b14
commit c2d053674d
  1. 11
      mesonbuild/dependencies/base.py

@ -29,7 +29,7 @@ from ..interpreterbase import FeatureDeprecated
if T.TYPE_CHECKING: if T.TYPE_CHECKING:
from ..compilers.compilers import Compiler from ..compilers.compilers import Compiler
from ..environment import Environment from ..environment import Environment
from ..build import BuildTarget from ..build import BuildTarget, CustomTarget
from ..mesonlib import FileOrString from ..mesonlib import FileOrString
@ -88,7 +88,7 @@ class Dependency(HoldableObject):
# Raw -L and -l arguments without manual library searching # Raw -L and -l arguments without manual library searching
# If None, self.link_args will be used # If None, self.link_args will be used
self.raw_link_args: T.Optional[T.List[str]] = None self.raw_link_args: T.Optional[T.List[str]] = None
self.sources: T.List['FileOrString'] = [] self.sources: T.List[T.Union['FileOrString', 'CustomTarget']] = []
self.include_type = self._process_include_type_kw(kwargs) self.include_type = self._process_include_type_kw(kwargs)
self.ext_deps: T.List[Dependency] = [] self.ext_deps: T.List[Dependency] = []
@ -142,7 +142,7 @@ class Dependency(HoldableObject):
def found(self) -> bool: def found(self) -> bool:
return self.is_found return self.is_found
def get_sources(self) -> T.List['FileOrString']: def get_sources(self) -> T.List[T.Union['FileOrString', 'CustomTarget']]:
"""Source files that need to be added to the target. """Source files that need to be added to the target.
As an example, gtest-all.cc when using GTest.""" As an example, gtest-all.cc when using GTest."""
return self.sources return self.sources
@ -218,7 +218,8 @@ class Dependency(HoldableObject):
class InternalDependency(Dependency): class InternalDependency(Dependency):
def __init__(self, version: str, incdirs: T.List[str], compile_args: T.List[str], def __init__(self, version: str, incdirs: T.List[str], compile_args: T.List[str],
link_args: T.List[str], libraries: T.List['BuildTarget'], link_args: T.List[str], libraries: T.List['BuildTarget'],
whole_libraries: T.List['BuildTarget'], sources: T.List['FileOrString'], whole_libraries: T.List['BuildTarget'],
sources: T.Sequence[T.Union['FileOrString', 'CustomTarget']],
ext_deps: T.List[Dependency], variables: T.Dict[str, T.Any]): ext_deps: T.List[Dependency], variables: T.Dict[str, T.Any]):
super().__init__(DependencyTypeName('internal'), {}) super().__init__(DependencyTypeName('internal'), {})
self.version = version self.version = version
@ -228,7 +229,7 @@ class InternalDependency(Dependency):
self.link_args = link_args self.link_args = link_args
self.libraries = libraries self.libraries = libraries
self.whole_libraries = whole_libraries self.whole_libraries = whole_libraries
self.sources = sources self.sources = list(sources)
self.ext_deps = ext_deps self.ext_deps = ext_deps
self.variables = variables self.variables = variables

Loading…
Cancel
Save