Build only the given mode
This commit is contained in:
		
							parent
							
								
									d4cf547683
								
							
						
					
					
						commit
						9540bdd26e
					
				
					 1 changed files with 16 additions and 1 deletions
				
			
		
							
								
								
									
										17
									
								
								SConstruct
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								SConstruct
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -112,5 +112,20 @@ release_env.Append(CPPDEFINES=['RELEASE'])
 | 
			
		|||
release_cflags = ' -O2'
 | 
			
		||||
release_env.Append(CFLAGS=release_cflags, CXXFLAGS=release_cflags)
 | 
			
		||||
 | 
			
		||||
for mode, env in {'debug': debug_env, 'release': release_env}.iteritems():
 | 
			
		||||
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():
 | 
			
		||||
        env.SConscript(os.path.join('build', mode, 'SConscript'), {'env': env})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue