diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-01-15 20:10:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-15 20:10:05 +0200 |
commit | 72a346dacfe8decc9ada98860a9c4de62e2dd3e9 (patch) | |
tree | 6b138ac9f0c58da1aaaad01a1758ff89f36e7a64 /mesonbuild/build.py | |
parent | 0bc44da70220dad84c62840fd3e9b5405decd885 (diff) | |
parent | 78b030cf19709a7c050814e2589276f6e8c06a07 (diff) | |
download | meson-72a346dacfe8decc9ada98860a9c4de62e2dd3e9.zip meson-72a346dacfe8decc9ada98860a9c4de62e2dd3e9.tar.gz meson-72a346dacfe8decc9ada98860a9c4de62e2dd3e9.tar.bz2 |
Merge pull request #1257 from QuLogic/generator-files
Add support for Files passed to generators.
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 |