Add a method to IncludeDirs to convert to string list

I'm going to use this in the rust module as well, so having a single
source of truth is useful.
pull/8162/head
Dylan Baker 4 years ago
parent 4082a3db45
commit 5f624657a0
  1. 7
      mesonbuild/build.py
  2. 4
      mesonbuild/interpreter.py

@ -323,6 +323,13 @@ class IncludeDirs:
def get_extra_build_dirs(self):
return self.extra_build_dirs
def to_string_list(self, sourcedir: str) -> T.List[str]:
"""Convert IncludeDirs object to a list of strings."""
strlist: T.List[str] = []
for idir in self.incdirs:
strlist.append(os.path.join(sourcedir, self.curdir, idir))
return strlist
class ExtractedObjects:
'''
Holds a list of sources for which the objects must be extracted

@ -1132,9 +1132,7 @@ class CompilerHolder(InterpreterObject):
for i in incdirs:
if not isinstance(i, IncludeDirsHolder):
raise InterpreterException('Include directories argument must be an include_directories object.')
for idir in i.held_object.get_incdirs():
idir = os.path.join(self.environment.get_source_dir(),
i.held_object.get_curdir(), idir)
for idir in i.held_object.to_string_list(self.environment.get_source_dir()):
args += self.compiler.get_include_args(idir, False)
if not nobuiltins:
opts = self.environment.coredata.options

Loading…
Cancel
Save