aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/vs2010backend.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2017-03-23 08:32:01 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2017-03-23 10:26:29 +0530
commit7f80f81ac9c00ed328566d9aec5140b4f9d1d21d (patch)
treebd5efaf8b6cde4683a1852f3f3759fbc46a727dc /mesonbuild/backend/vs2010backend.py
parent8482286236f6d91dfaa02e4254e0e15430e67eb2 (diff)
downloadmeson-7f80f81ac9c00ed328566d9aec5140b4f9d1d21d.zip
meson-7f80f81ac9c00ed328566d9aec5140b4f9d1d21d.tar.gz
meson-7f80f81ac9c00ed328566d9aec5140b4f9d1d21d.tar.bz2
Preserve the order of internal deps in a target
We were adding them to the CompilerArgs instance in the order in which they are specified, which is wrong because later dependencies would override previous ones. Add them in the reverse order instead. Closes https://github.com/mesonbuild/meson/issues/1495
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
-rw-r--r--mesonbuild/backend/vs2010backend.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index e1f7325..e512f0e 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -714,12 +714,15 @@ class Vs2010Backend(backends.Backend):
# and from `include_directories:` of internal deps of the target.
#
# Target include dirs should override internal deps include dirs.
+ # This is handled in BuildTarget.process_kwargs()
#
# Include dirs from internal deps should override include dirs from
- # external deps.
+ # external deps and must maintain the order in which they are
+ # specified. Hence, we must reverse so that the order is preserved.
+ #
# These are per-target, but we still add them as per-file because we
# need them to be looked in first.
- for d in target.get_include_dirs():
+ for d in reversed(target.get_include_dirs()):
for i in d.get_incdirs():
curdir = os.path.join(d.get_curdir(), i)
args.append('-I' + self.relpath(curdir, target.subdir)) # build dir
@@ -769,7 +772,7 @@ class Vs2010Backend(backends.Backend):
# Split compile args needed to find external dependencies
# Link args are added while generating the link command
- for d in target.get_external_deps():
+ for d in reversed(target.get_external_deps()):
# Cflags required by external deps might have UNIX-specific flags,
# so filter them out if needed
d_compile_args = compiler.unix_args_to_native(d.get_compile_args())