aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/backends.py b/backends.py
index f5c9e07..7036a28 100644
--- a/backends.py
+++ b/backends.py
@@ -1301,6 +1301,10 @@ class Vs2010Backend(Backend):
all_deps[ldep.get_basename()] = True
for objdep in self.get_obj_target_deps(self.build.targets[p[0]].objects):
all_deps[objdep] = True
+ for gendep in self.build.targets[p[0]].generated:
+ gen_exe = gendep.generator.get_exe()
+ if isinstance(gen_exe, build.Executable):
+ all_deps[gen_exe.get_basename()] = True
if len(all_deps) > 0:
ofile.write('\tProjectSection(ProjectDependencies) = postProject\n')
for dep in all_deps.keys():
@@ -1505,8 +1509,13 @@ class Vs2010Backend(Backend):
tree = ET.ElementTree(root)
tree.write(ofname, encoding='utf-8', xml_declaration=True)
# ElementTree can not do prettyprinting so do it manually
- #doc = xml.dom.minidom.parse(ofname)
- #open(ofname, 'w').write(doc.toprettyxml())
+ doc = xml.dom.minidom.parse(ofname)
+ open(ofname, 'w').write(doc.toprettyxml())
+ # World of horror! Python insists on not quoting quotes and
+ # fixing the escaped " into " whereas MSVS
+ # requires quoted but not fixed elements. Enter horrible hack.
+ txt = open(ofname, 'r').read()
+ open(ofname, 'w').write(txt.replace('"', '"'))
def gen_testproj(self, target_name, ofname):
buildtype = 'Debug'