Clean up env creation
This commit is contained in:
parent
b40e4b07d9
commit
1a37170b9a
1 changed files with 25 additions and 14 deletions
39
SConstruct
39
SConstruct
|
@ -100,21 +100,32 @@ if not BUILD_CMDS:
|
|||
|
||||
src_dir = Dir('#src')
|
||||
|
||||
debug_env = common_env.Clone()
|
||||
debug_build_dir = os.path.join('build', 'debug')
|
||||
debug_env.VariantDir(debug_build_dir, src_dir, duplicate=0)
|
||||
debug_env.Append(CPPDEFINES=['DEBUG'])
|
||||
debug_cflags = ' -O0 -g'
|
||||
debug_env.Append(CFLAGS=debug_cflags, CXXFLAGS=debug_cflags)
|
||||
debug_env.Clean('.', debug_build_dir)
|
||||
|
||||
release_env = common_env.Clone()
|
||||
release_build_dir = os.path.join('build', 'release')
|
||||
release_env.VariantDir(release_build_dir, src_dir, duplicate=0)
|
||||
release_env.Append(CPPDEFINES=['RELEASE'])
|
||||
def create_env(variant_dir, appends=None):
|
||||
env = common_env.Clone()
|
||||
env.VariantDir(variant_dir, src_dir, duplicate=0)
|
||||
env.Clean('.', variant_dir)
|
||||
for k, v in appends.iteritems():
|
||||
if k.startswith('='):
|
||||
env[k[1:]] = v
|
||||
else:
|
||||
env.Append(**{k: v})
|
||||
return env
|
||||
|
||||
|
||||
debug_cflags = ' -O0 -g'
|
||||
debug_env = create_env(os.path.join('build', 'debug'), {
|
||||
'CPPDEFINES': ['DEBUG'],
|
||||
'CFLAGS': debug_cflags,
|
||||
'CXXFLAGS': debug_cflags,
|
||||
})
|
||||
|
||||
release_cflags = ' -O2'
|
||||
release_env.Append(CFLAGS=release_cflags, CXXFLAGS=release_cflags)
|
||||
release_env.Clean('.', release_build_dir)
|
||||
release_env = create_env(os.path.join('build', 'release'), {
|
||||
'CPPDEFINES': ['RELEASE'],
|
||||
'CFLAGS': release_cflags,
|
||||
'CXXFLAGS': release_cflags,
|
||||
})
|
||||
|
||||
modes = {
|
||||
'debug': debug_env,
|
||||
|
@ -131,5 +142,5 @@ if 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 modes.iteritems():
|
||||
env.SConscript(os.path.join('build', mode, 'SConscript'), {'env': env})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue