diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-04-25 22:13:15 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-04-25 22:13:15 +0300 |
commit | 77e9a245893909e33c753f472e8cee13174921c2 (patch) | |
tree | e1f9d25b997eca289f8350239f8cf2ac31fff376 /build.py | |
parent | c06c9ea83e7584539e1a09ba3acd8035444d22c9 (diff) | |
download | meson-77e9a245893909e33c753f472e8cee13174921c2.zip meson-77e9a245893909e33c753f472e8cee13174921c2.tar.gz meson-77e9a245893909e33c753f472e8cee13174921c2.tar.bz2 |
Can specify extra files that show up in IDEs as parts of a target.
Diffstat (limited to 'build.py')
-rw-r--r-- | build.py | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -125,9 +125,10 @@ class BuildTarget(): self.pch = {} self.extra_args = {} self.generated = [] + self.extra_files = [] self.process_sourcelist(sources) self.process_objectlist(objects) - self.process_kwargs(kwargs) + self.process_kwargs(kwargs, environment) if len(self.sources) == 0 and len(self.generated) == 0: raise InvalidArguments('Build target %s has no sources.' % name) @@ -205,7 +206,7 @@ class BuildTarget(): def get_custom_install_dir(self): return self.custom_install_dir - def process_kwargs(self, kwargs): + def process_kwargs(self, kwargs, environment): self.copy_kwargs(kwargs) kwargs.get('modules', []) self.need_install = kwargs.get('install', self.need_install) @@ -272,6 +273,16 @@ class BuildTarget(): raise InvalidArguments('Argument gui_app must be boolean.') elif 'gui_app' in kwargs: raise InvalidArguments('Argument gui_app can only be used on executables.') + extra_files = kwargs.get('extra_files', []) + if isinstance(extra_files, str): + extra_files = [extra_files] + for i in extra_files: + if not isinstance(i, str): + raise InvalidArguments('Arguments to extra_files must be strings.') + trial = os.path.join(environment.get_source_dir(), self.subdir, i) + if not(os.path.isfile(trial)): + raise InvalidArguments('Tried to add non-existing extra file %s.' % i) + self.extra_files = extra_files def get_subdir(self): return self.subdir |