diff options
author | MorpheusDev <devnull@localhost> | 2014-10-27 15:33:16 (GMT) |
---|---|---|
committer | MorpheusDev <devnull@localhost> | 2014-10-27 15:33:16 (GMT) |
commit | 8daa5b033c4d7447a36b3f1fb1a119dd8f72b381 (patch) | |
tree | 9e0ef50eb70e8c4b70eb9eb5ec00a14fbf781a16 /src/engine | |
parent | 9866a7f445bb30e8cb16cc1f9c0225dfc1061ff5 (diff) | |
download | SCons-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.
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/SCons/Tool/msvs.py | 16 |
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(): |