aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@osg.samsung.com>2016-11-11 13:27:56 -0300
committerJussi Pakkanen <jpakkane@gmail.com>2016-11-12 17:34:06 -0500
commit85a0cd7635c45bb150b59f55dbd6ecbbe10048f8 (patch)
treea8b50106266044237437a42648bac9c1f5b9ce7c /mesonbuild/backend
parent085650a1e3769366ac47f7d8a59386ed6d5a1ef5 (diff)
downloadmeson-85a0cd7635c45bb150b59f55dbd6ecbbe10048f8.zip
meson-85a0cd7635c45bb150b59f55dbd6ecbbe10048f8.tar.gz
meson-85a0cd7635c45bb150b59f55dbd6ecbbe10048f8.tar.bz2
Add new add_project_[link]_args functions
Fixes 979
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/backends.py1
-rw-r--r--mesonbuild/backend/ninjabackend.py2
-rw-r--r--mesonbuild/backend/vs2010backend.py3
3 files changed, 6 insertions, 0 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index 45d946f..b82227f 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -354,6 +354,7 @@ class Backend():
commands += compiler.get_warn_args(self.environment.coredata.get_builtin_option('warning_level'))
commands += compiler.get_option_compile_args(self.environment.coredata.compiler_options)
commands += self.build.get_global_args(compiler)
+ commands += self.build.get_project_args(compiler, target.subproject)
commands += self.environment.coredata.external_args[compiler.get_language()]
commands += self.escape_extra_args(compiler, target.get_extra_args(compiler.get_language()))
commands += compiler.get_buildtype_args(self.environment.coredata.get_builtin_option('buildtype'))
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index bb681d7..fb1280b 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1018,6 +1018,7 @@ int dummy;
args = []
args += self.build.get_global_args(valac)
+ args += self.build.get_project_args(valac, target.subproject)
args += valac.get_buildtype_args(self.environment.coredata.get_builtin_option('buildtype'))
# Tell Valac to output everything in our private directory. Sadly this
# means it will also preserve the directory components of Vala sources
@@ -1945,6 +1946,7 @@ rule FORTRAN_DEP_HACK
abspath = os.path.join(self.environment.get_build_dir(), target.subdir)
commands = []
if not isinstance(target, build.StaticLibrary):
+ commands += self.build.get_project_link_args(linker, target.subproject)
commands += self.build.get_global_link_args(linker)
commands += self.get_cross_stdlib_link_args(target, linker)
commands += linker.get_linker_always_args()
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index c66233e..15bebba 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -680,6 +680,9 @@ class Vs2010Backend(backends.Backend):
for l, args in self.build.global_args.items():
if l in file_args:
file_args[l] += args
+ for l, args in self.build.projects_args.get(target.subproject, {}).items():
+ if l in file_args:
+ file_args[l] += args
for l, args in target.extra_args.items():
if l in file_args:
file_args[l] += compiler.unix_compile_flags_to_native(args)