diff options
author | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2016-12-28 16:20:18 -0500 |
---|---|---|
committer | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2017-01-12 03:25:08 -0500 |
commit | 78b030cf19709a7c050814e2589276f6e8c06a07 (patch) | |
tree | 9ea4befb98e284a15c012bc750f7cdf8bfc50f56 /mesonbuild/build.py | |
parent | eea067087261fbeb19ff12ee6a6def95e0141322 (diff) | |
download | meson-78b030cf19709a7c050814e2589276f6e8c06a07.zip meson-78b030cf19709a7c050814e2589276f6e8c06a07.tar.gz meson-78b030cf19709a7c050814e2589276f6e8c06a07.tar.bz2 |
Add support for Files passed to generators.
I need this for windows.compile_resources to be able to use
configure_file results, but it may have other benefits.
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r-- | mesonbuild/build.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 8fa6ada..cc33d39 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -918,9 +918,11 @@ class Generator(): def process_files(self, name, files, state, extra_args=[]): output = GeneratedList(self, extra_args=extra_args) for f in files: - if not isinstance(f, str): - raise InvalidArguments('{} arguments must be strings.'.format(name)) - output.add_file(os.path.join(state.subdir, f)) + if isinstance(f, str): + f = File.from_source_file(state.environment.source_dir, state.subdir, f) + elif not isinstance(f, File): + raise InvalidArguments('{} arguments must be strings or files not {!r}.'.format(name, f)) + output.add_file(f) return output @@ -938,7 +940,7 @@ class GeneratedList(): def add_file(self, newfile): self.infilelist.append(newfile) - outfiles = self.generator.get_base_outnames(newfile) + outfiles = self.generator.get_base_outnames(newfile.fname) self.outfilelist += outfiles self.outmap[newfile] = outfiles |