Build only the given mode
This commit is contained in:
parent
d4cf547683
commit
9540bdd26e
1 changed files with 16 additions and 1 deletions
15
SConstruct
15
SConstruct
|
@ -112,5 +112,20 @@ release_env.Append(CPPDEFINES=['RELEASE'])
|
||||||
release_cflags = ' -O2'
|
release_cflags = ' -O2'
|
||||||
release_env.Append(CFLAGS=release_cflags, CXXFLAGS=release_cflags)
|
release_env.Append(CFLAGS=release_cflags, CXXFLAGS=release_cflags)
|
||||||
|
|
||||||
|
modes = {
|
||||||
|
'debug': debug_env,
|
||||||
|
'release': release_env,
|
||||||
|
}
|
||||||
|
|
||||||
|
mode = ARGUMENTS.get('MODE', None)
|
||||||
|
if mode:
|
||||||
|
# If MODE=foo is specified, build only that mode.
|
||||||
|
try:
|
||||||
|
env = modes[mode]
|
||||||
|
except KeyError:
|
||||||
|
raise SCons.Errors.UserError('Invalid mode: {}'.format(mode))
|
||||||
|
env.SConscript(os.path.join('build', mode, 'SConscript'), {'env': env})
|
||||||
|
else:
|
||||||
|
# Build all modes.
|
||||||
for mode, env in {'debug': debug_env, 'release': release_env}.iteritems():
|
for mode, env in {'debug': debug_env, 'release': release_env}.iteritems():
|
||||||
env.SConscript(os.path.join('build', mode, 'SConscript'), {'env': env})
|
env.SConscript(os.path.join('build', mode, 'SConscript'), {'env': env})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue