aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schneider <nioncode+git@gmail.com>2016-03-29 01:46:47 +0200
committerNicolas Schneider <nioncode+git@gmail.com>2016-03-29 12:08:34 +0200
commitba8b650cdaf926fc183ae6fa4d1348996b07fb6c (patch)
treec926a6d6df9822622e17ed2a404d598334edd42a
parent330be891c1cbc115bef765c04730b1004d5cb20a (diff)
downloadmeson-ba8b650cdaf926fc183ae6fa4d1348996b07fb6c.zip
meson-ba8b650cdaf926fc183ae6fa4d1348996b07fb6c.tar.gz
meson-ba8b650cdaf926fc183ae6fa4d1348996b07fb6c.tar.bz2
vs2010: fix relative path to target private dir for generators
backend.get_target_private_dir() includes the target directory in the path. However, we want to treat all paths relative from the target directory, because that's where our VS project file lives in.
-rw-r--r--mesonbuild/backend/vs2010backend.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index 3aa3ca8..eb56788 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -53,19 +53,20 @@ class Vs2010Backend(backends.Backend):
outfilelist = genlist.get_outfilelist()
exe_arr = self.exe_object_to_cmd_array(exe)
base_args = generator.get_arglist()
+ target_private_dir = self.relpath(self.get_target_private_dir(target), self.get_target_dir(target))
for i in range(len(infilelist)):
if len(infilelist) == len(outfilelist):
- sole_output = os.path.join(self.get_target_private_dir(target), outfilelist[i])
+ sole_output = os.path.join(target_private_dir, outfilelist[i])
else:
sole_output = ''
curfile = infilelist[i]
infilename = os.path.join(self.environment.get_source_dir(), curfile)
outfiles = genlist.get_outputs_for(curfile)
- outfiles = [os.path.join(self.get_target_private_dir(target), of) for of in outfiles]
+ outfiles = [os.path.join(target_private_dir, of) for of in outfiles]
all_output_files += outfiles
args = [x.replace("@INPUT@", infilename).replace('@OUTPUT@', sole_output)\
for x in base_args]
- args = [x.replace("@SOURCE_DIR@", self.environment.get_source_dir()).replace("@BUILD_DIR@", self.get_target_private_dir(target))
+ args = [x.replace("@SOURCE_DIR@", self.environment.get_source_dir()).replace("@BUILD_DIR@", target_private_dir)
for x in args]
fullcmd = exe_arr + args
commands.append(' '.join(self.special_quote(fullcmd)))