aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2018-12-31 13:54:08 +0100
committerDaniel Mensinger <daniel@mensinger-ka.de>2019-01-06 12:19:34 +0100
commitdf1434d5a5ec099b6d54b70906210494e85f2c21 (patch)
tree10e0dc92e2f6fcfefa87cf74a661338553c7f2f0 /mesonbuild/backend/backends.py
parent9d025f13742827818e8366cc706ec9c865ce1f38 (diff)
downloadmeson-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.py25
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',