diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2018-12-31 13:54:08 +0100 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-01-06 12:19:34 +0100 |
commit | df1434d5a5ec099b6d54b70906210494e85f2c21 (patch) | |
tree | 10e0dc92e2f6fcfefa87cf74a661338553c7f2f0 /mesonbuild/backend/backends.py | |
parent | 9d025f13742827818e8366cc706ec9c865ce1f38 (diff) | |
download | meson-df1434d5a5ec099b6d54b70906210494e85f2c21.zip meson-df1434d5a5ec099b6d54b70906210494e85f2c21.tar.gz meson-df1434d5a5ec099b6d54b70906210494e85f2c21.tar.bz2 |
Fixed CI issues
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index efd94d7..39aa365 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -1170,18 +1170,27 @@ class Backend: if isinstance(target, (build.CustomTarget, build.BuildTarget)): source_list_raw = target.sources + target.extra_files source_list = [] - for i in source_list_raw: - if isinstance(i, mesonlib.File): - source_list += [i.absolute_path(self.environment.get_source_dir(), self.environment.get_build_dir())] - elif isinstance(i, str): - source_list += [os.path.join(self.environment.get_source_dir(), i)] + for j in source_list_raw: + if isinstance(j, mesonlib.File): + source_list += [j.absolute_path(self.source_dir, self.build_dir)] + elif isinstance(j, str): + source_list += [os.path.join(self.source_dir, j)] source_list = list(map(lambda x: os.path.normpath(x), source_list)) compiler = [] if isinstance(target, build.CustomTarget): - compiler = target.command - if isinstance(compiler, str): - compiler = [compiler] + tmp_compiler = target.command + if not isinstance(compiler, list): + tmp_compiler = [compiler] + for j in tmp_compiler: + if isinstance(j, mesonlib.File): + compiler += [j.absolute_path(self.source_dir, self.build_dir)] + elif isinstance(j, str): + compiler += [j] + elif isinstance(j, (build.BuildTarget, build.CustomTarget)): + compiler += j.get_outputs() + else: + raise RuntimeError('Type "{}" is not supported in get_introspection_data. This is a bug'.format(type(j).__name__)) return [{ 'language': 'unknown', |