add_{project,global}_arguments: support language list

This patch adds support for specifying a list of languages when calling
add_project_arguments and add_global_arguments.
pull/1580/head
Philipp Ittershagen 8 years ago
parent dd9f75e188
commit 69d07fe75a
  1. 6
      mesonbuild/interpreter.py
  2. 4
      test cases/common/123 subproject project arguments/exe.c
  3. 4
      test cases/common/123 subproject project arguments/exe.cpp
  4. 1
      test cases/common/123 subproject project arguments/meson.build
  5. 4
      test cases/common/123 subproject project arguments/subprojects/subexe/subexe.c
  6. 2
      test cases/common/23 global arg/meson.build
  7. 4
      test cases/common/23 global arg/prog.c
  8. 4
      test cases/common/23 global arg/prog.cc

@ -2479,9 +2479,9 @@ different subdirectory.
if 'language' not in kwargs:
raise InvalidCode('Missing language definition in {}'.format(node.func_name))
lang = kwargs['language'].lower()
args = argsdict.get(lang, []) + args
argsdict[lang] = args
for lang in mesonlib.stringlistify(kwargs['language']):
lang = lang.lower()
argsdict[lang] = argsdict.get(lang, []) + args
def func_environment(self, node, args, kwargs):
return EnvironmentVariablesHolder()

@ -18,6 +18,10 @@
#error
#endif
#ifndef PROJECT_OPTION_C_CPP
#error
#endif
int main(int argc, char **argv) {
return 0;
}

@ -18,6 +18,10 @@
#error
#endif
#ifndef PROJECT_OPTION_C_CPP
#error
#endif
int main(int argc, char **argv) {
return 0;
}

@ -6,6 +6,7 @@ add_global_arguments('-DGLOBAL_ARGUMENT', language: 'c')
add_project_arguments('-DPROJECT_OPTION', language: 'c')
add_project_arguments('-DPROJECT_OPTION_1', language: 'c')
add_project_arguments('-DPROJECT_OPTION_CPP', language: 'cpp')
add_project_arguments('-DPROJECT_OPTION_C_CPP', language: ['c', 'cpp'])
sub = subproject('subexe', version : '1.0.0')
e = executable('exe', 'exe.c')

@ -6,6 +6,10 @@
#error
#endif
#ifdef PROJECT_OPTION_C_CPP
#error
#endif
#ifndef GLOBAL_ARGUMENT
#error
#endif

@ -3,6 +3,8 @@ project('global arg test', 'cpp', 'c')
add_global_arguments('-DMYTHING', language : 'c')
add_global_arguments('-DMYCPPTHING', language : 'cpp')
add_global_arguments('-DMYCANDCPPTHING', language: ['c', 'cpp'])
exe1 = executable('prog', 'prog.c')
exe2 = executable('prog2', 'prog.cc')

@ -6,6 +6,10 @@
#error "Wrong global argument set"
#endif
#ifndef MYCANDCPPTHING
#error "Global argument not set"
#endif
int main(int argc, char **argv) {
return 0;
}

@ -6,6 +6,10 @@
#error "Global argument not set"
#endif
#ifndef MYCANDCPPTHING
#error "Global argument not set"
#endif
int main(int argc, char **argv) {
return 0;
}

Loading…
Cancel
Save