summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan O'Sullivan <bos@lindenlab.com>2008-10-30 19:57:37 +0000
committerBryan O'Sullivan <bos@lindenlab.com>2008-10-30 19:57:37 +0000
commitd6d286775d9d08bc8db56c7673ced7058f53acc8 (patch)
tree0da0e90412ee782b827ae4d43b0bbb085a583e3d
parent4c38e5820a20a5c4cd30f2c9d39352f323c5d3ef (diff)
Windows build: only run vstool.exe once per build type.
Reviewed by Mani.
-rwxr-xr-xindra/develop.py28
1 files changed, 20 insertions, 8 deletions
diff --git a/indra/develop.py b/indra/develop.py
index 2dd7b39410..928165e765 100755
--- a/indra/develop.py
+++ b/indra/develop.py
@@ -543,14 +543,26 @@ class WindowsSetup(PlatformSetup):
'''Override to add the vstool.exe call after running cmake.'''
PlatformSetup.run_cmake(self, args)
if self.unattended == 'OFF':
- for build_dir in self.build_dirs():
- vstool_cmd = (os.path.join('tools','vstool','VSTool.exe') +
- ' --solution ' +
- os.path.join(build_dir,'SecondLife.sln') +
- ' --config ' + self.build_type +
- ' --startup secondlife-bin')
- print 'Running %r in %r' % (vstool_cmd, getcwd())
- self.run(vstool_cmd)
+ self.run_vstool()
+
+ def run_vstool(self):
+ for build_dir in self.build_dirs():
+ stamp = os.path.join(build_dir, 'vstool.txt')
+ try:
+ prev_build = open(stamp).read().strip()
+ except IOError:
+ prev_build = ''
+ if prev_build == self.build_type:
+ # Only run vstool if the build type has changed.
+ continue
+ vstool_cmd = (os.path.join('tools','vstool','VSTool.exe') +
+ ' --solution ' +
+ os.path.join(build_dir,'SecondLife.sln') +
+ ' --config ' + self.build_type +
+ ' --startup secondlife-bin')
+ print 'Running %r in %r' % (vstool_cmd, getcwd())
+ self.run(vstool_cmd)
+ print >> open(stamp, 'w'), self.build_type
def run_build(self, opts, targets):
cwd = getcwd()