From 4bf1a352cc3626873ed69c1f5b69c34730cdf2b2 Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Fri, 22 Feb 2019 11:30:29 +0100 Subject: [PATCH] mconf: Fixed crash for variables in targets (closes #4960) --- mesonbuild/ast/introspection.py | 3 ++- test cases/unit/53 introspect buildoptions/main.c | 6 ++++++ test cases/unit/53 introspect buildoptions/meson.build | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 test cases/unit/53 introspect buildoptions/main.c diff --git a/mesonbuild/ast/introspection.py b/mesonbuild/ast/introspection.py index 091701596..f0ff43fb1 100644 --- a/mesonbuild/ast/introspection.py +++ b/mesonbuild/ast/introspection.py @@ -142,10 +142,11 @@ class IntrospectionInterpreter(AstInterpreter): }] def build_target(self, node, args, kwargs, targetclass): + args = self.flatten_args(args) if not args: return kwargs = self.flatten_kwargs(kwargs, True) - name = self.flatten_args(args)[0] + name = args[0] srcqueue = [node] if 'sources' in kwargs: srcqueue += kwargs['sources'] diff --git a/test cases/unit/53 introspect buildoptions/main.c b/test cases/unit/53 introspect buildoptions/main.c new file mode 100644 index 000000000..ef99ae617 --- /dev/null +++ b/test cases/unit/53 introspect buildoptions/main.c @@ -0,0 +1,6 @@ +#include + +int main() { + printf("Hello World"); + return 0; +} diff --git a/test cases/unit/53 introspect buildoptions/meson.build b/test cases/unit/53 introspect buildoptions/meson.build index e94ef6170..8052b5f09 100644 --- a/test cases/unit/53 introspect buildoptions/meson.build +++ b/test cases/unit/53 introspect buildoptions/meson.build @@ -2,6 +2,11 @@ project('introspect buildargs', ['c'], default_options: ['c_std=c11', 'cpp_std=c subA = subproject('projectA') +target_name = 'MAIN' +target_src = ['main.c'] + +executable(target_name, target_src) + r = run_command(find_program('c_compiler.py')) if r.returncode() != 0 error('FAILED')