@@ -200,7 +200,10 @@ opts.Add(EnumVariable("arch", "CPU architecture", "auto", ["auto"] + architectur
200200opts .Add (BoolVariable ("dev_build" , "Developer build with dev-only debugging code (DEV_ENABLED)" , False ))
201201opts .Add (
202202 EnumVariable (
203- "optimize" , "Optimization level" , "speed_trace" , ("none" , "custom" , "debug" , "speed" , "speed_trace" , "size" )
203+ "optimize" ,
204+ "Optimization level (by default inferred from 'target' and 'dev_build')" ,
205+ "auto" ,
206+ ("auto" , "none" , "custom" , "debug" , "speed" , "speed_trace" , "size" ),
204207 )
205208)
206209opts .Add (BoolVariable ("debug_symbols" , "Build with debugging symbols" , False ))
@@ -466,14 +469,15 @@ env.editor_build = env["target"] == "editor"
466469env .dev_build = env ["dev_build" ]
467470env .debug_features = env ["target" ] in ["editor" , "template_debug" ]
468471
469- if env .dev_build :
470- opt_level = "none"
471- elif env .debug_features :
472- opt_level = "speed_trace"
473- else : # Release
474- opt_level = "speed"
472+ if env ["optimize" ] == "auto" :
473+ if env .dev_build :
474+ opt_level = "none"
475+ elif env .debug_features :
476+ opt_level = "speed_trace"
477+ else : # Release
478+ opt_level = "speed"
479+ env ["optimize" ] = ARGUMENTS .get ("optimize" , opt_level )
475480
476- env ["optimize" ] = ARGUMENTS .get ("optimize" , opt_level )
477481env ["debug_symbols" ] = methods .get_cmdline_bool ("debug_symbols" , env .dev_build )
478482
479483if env .editor_build :
0 commit comments