summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorpheusDev <devnull@localhost>2014-10-27 15:33:16 (GMT)
committerMorpheusDev <devnull@localhost>2014-10-27 15:33:16 (GMT)
commit8daa5b033c4d7447a36b3f1fb1a119dd8f72b381 (patch)
tree9e0ef50eb70e8c4b70eb9eb5ec00a14fbf781a16
parent9866a7f445bb30e8cb16cc1f9c0225dfc1061ff5 (diff)
downloadSCons-8daa5b033c4d7447a36b3f1fb1a119dd8f72b381.zip
SCons-8daa5b033c4d7447a36b3f1fb1a119dd8f72b381.tar.gz
SCons-8daa5b033c4d7447a36b3f1fb1a119dd8f72b381.tar.bz2
Multiple 'cmdargs' feature added to allow a per variant cmdargs, to be able to insert different parameters between Debug and Release.
-rw-r--r--src/engine/SCons/Tool/msvs.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/engine/SCons/Tool/msvs.py b/src/engine/SCons/Tool/msvs.py
index c9f1f2a..f54e552 100644
--- a/src/engine/SCons/Tool/msvs.py
+++ b/src/engine/SCons/Tool/msvs.py
@@ -289,9 +289,17 @@ class _DSPGenerator(object):
runfile.append(s)
self.sconscript = env['MSVSSCONSCRIPT']
-
- cmdargs = env.get('cmdargs', '')
-
+
+ if 'cmdargs' not in env or env['cmdargs'] == None:
+ cmdargs = [''] * len(variants)
+ elif SCons.Util.is_String(env['cmdargs']):
+ outdir = [env['cmdargs']] * len(variants)
+ elif SCons.Util.is_List(env['cmdargs']):
+ if len(env['cmdargs']) != len(variants):
+ raise SCons.Errors.InternalError("Sizes of 'cmdargs' and 'variant' lists must be the same.")
+ else:
+ cmdargs = env['cmdargs']
+
self.env = env
if 'name' in self.env:
@@ -354,7 +362,7 @@ class _DSPGenerator(object):
print "Adding '" + self.name + ' - ' + config.variant + '|' + config.platform + "' to '" + str(dspfile) + "'"
for i in range(len(variants)):
- AddConfig(self, variants[i], buildtarget[i], outdir[i], runfile[i], cmdargs)
+ AddConfig(self, variants[i], buildtarget[i], outdir[i], runfile[i], cmdargs[i])
self.platforms = []
for key in self.configs.keys():