@@ -110,6 +110,7 @@ def __init__(self, type_name: DependencyTypeName, kwargs: T.Dict[str, T.Any]) ->
110110 # If None, self.link_args will be used
111111 self .raw_link_args : T .Optional [T .List [str ]] = None
112112 self .sources : T .List [T .Union ['FileOrString' , 'CustomTarget' , 'StructuredSources' ]] = []
113+ self .extra_files : T .List [mesonlib .File ] = []
113114 self .include_type = self ._process_include_type_kw (kwargs )
114115 self .ext_deps : T .List [Dependency ] = []
115116 self .d_features : T .DefaultDict [str , T .List [T .Any ]] = collections .defaultdict (list )
@@ -171,6 +172,10 @@ def get_sources(self) -> T.List[T.Union['FileOrString', 'CustomTarget', 'Structu
171172 As an example, gtest-all.cc when using GTest."""
172173 return self .sources
173174
175+ def get_extra_files (self ) -> T .List [mesonlib .File ]:
176+ """Mostly for introspection and IDEs"""
177+ return self .extra_files
178+
174179 def get_name (self ) -> str :
175180 return self .name
176181
@@ -250,6 +255,7 @@ def __init__(self, version: str, incdirs: T.List['IncludeDirs'], compile_args: T
250255 libraries : T .List [LibTypes ],
251256 whole_libraries : T .List [T .Union [StaticLibrary , CustomTarget , CustomTargetIndex ]],
252257 sources : T .Sequence [T .Union [FileOrString , CustomTarget , StructuredSources ]],
258+ extra_files : T .Sequence [mesonlib .File ],
253259 ext_deps : T .List [Dependency ], variables : T .Dict [str , str ],
254260 d_module_versions : T .List [T .Union [str , int ]], d_import_dirs : T .List ['IncludeDirs' ],
255261 objects : T .List ['ExtractedObjects' ]):
@@ -262,6 +268,7 @@ def __init__(self, version: str, incdirs: T.List['IncludeDirs'], compile_args: T
262268 self .libraries = libraries
263269 self .whole_libraries = whole_libraries
264270 self .sources = list (sources )
271+ self .extra_files = list (extra_files )
265272 self .ext_deps = ext_deps
266273 self .variables = variables
267274 self .objects = objects
@@ -303,20 +310,22 @@ def get_configtool_variable(self, variable_name: str) -> str:
303310
304311 def get_partial_dependency (self , * , compile_args : bool = False ,
305312 link_args : bool = False , links : bool = False ,
306- includes : bool = False , sources : bool = False ) -> 'InternalDependency' :
313+ includes : bool = False , sources : bool = False ,
314+ extra_files : bool = False ) -> InternalDependency :
307315 final_compile_args = self .compile_args .copy () if compile_args else []
308316 final_link_args = self .link_args .copy () if link_args else []
309317 final_libraries = self .libraries .copy () if links else []
310318 final_whole_libraries = self .whole_libraries .copy () if links else []
311319 final_sources = self .sources .copy () if sources else []
320+ final_extra_files = self .extra_files .copy () if extra_files else []
312321 final_includes = self .include_directories .copy () if includes else []
313322 final_deps = [d .get_partial_dependency (
314323 compile_args = compile_args , link_args = link_args , links = links ,
315324 includes = includes , sources = sources ) for d in self .ext_deps ]
316325 return InternalDependency (
317326 self .version , final_includes , final_compile_args ,
318327 final_link_args , final_libraries , final_whole_libraries ,
319- final_sources , final_deps , self .variables , [], [], [])
328+ final_sources , final_extra_files , final_deps , self .variables , [], [], [])
320329
321330 def get_include_dirs (self ) -> T .List ['IncludeDirs' ]:
322331 return self .include_directories
0 commit comments