SCons: colored compilation
This commit is contained in:
parent
f3dc51fc69
commit
f9a4e6890b
|
@ -116,6 +116,7 @@ opts.Add("CFLAGS", "Custom flags for the C compiler");
|
||||||
opts.Add("LINKFLAGS", "Custom flags for the linker");
|
opts.Add("LINKFLAGS", "Custom flags for the linker");
|
||||||
opts.Add('disable_3d', 'Disable 3D nodes for smaller executable (yes/no)', "no")
|
opts.Add('disable_3d', 'Disable 3D nodes for smaller executable (yes/no)', "no")
|
||||||
opts.Add('disable_advanced_gui', 'Disable advance 3D gui nodes and behaviors (yes/no)', "no")
|
opts.Add('disable_advanced_gui', 'Disable advance 3D gui nodes and behaviors (yes/no)', "no")
|
||||||
|
opts.Add('colored', 'Enable colored output for the compilation (yes/no)', 'no')
|
||||||
|
|
||||||
# add platform specific options
|
# add platform specific options
|
||||||
|
|
||||||
|
@ -299,6 +300,9 @@ if selected_platform in platform_list:
|
||||||
if (env['xml']=='yes'):
|
if (env['xml']=='yes'):
|
||||||
env.Append(CPPFLAGS=['-DXML_ENABLED'])
|
env.Append(CPPFLAGS=['-DXML_ENABLED'])
|
||||||
|
|
||||||
|
if (env['colored']=='yes'):
|
||||||
|
methods.colored(sys,env)
|
||||||
|
|
||||||
|
|
||||||
Export('env')
|
Export('env')
|
||||||
|
|
||||||
|
|
36
methods.py
36
methods.py
|
@ -1316,3 +1316,39 @@ def save_active_platforms(apnames,ap):
|
||||||
logow = open(wf,"wb")
|
logow = open(wf,"wb")
|
||||||
logow.write(str)
|
logow.write(str)
|
||||||
|
|
||||||
|
|
||||||
|
def colored(sys,env):
|
||||||
|
|
||||||
|
#If the output is not a terminal, do nothing
|
||||||
|
if not sys.stdout.isatty():
|
||||||
|
return
|
||||||
|
|
||||||
|
colors = {}
|
||||||
|
colors['cyan'] = '\033[96m'
|
||||||
|
colors['purple'] = '\033[95m'
|
||||||
|
colors['blue'] = '\033[94m'
|
||||||
|
colors['green'] = '\033[92m'
|
||||||
|
colors['yellow'] = '\033[93m'
|
||||||
|
colors['red'] = '\033[91m'
|
||||||
|
colors['end'] = '\033[0m'
|
||||||
|
|
||||||
|
compile_source_message = '%sCompiling %s==> %s$SOURCE%s' % (colors['blue'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
java_compile_source_message = '%sCompiling %s==> %s$SOURCE%s' % (colors['blue'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
compile_shared_source_message = '%sCompiling shared %s==> %s$SOURCE%s' % (colors['blue'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
link_program_message = '%sLinking Program %s==> %s$TARGET%s' % (colors['red'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
link_library_message = '%sLinking Static Library %s==> %s$TARGET%s' % (colors['red'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
ranlib_library_message = '%sRanlib Library %s==> %s$TARGET%s' % (colors['red'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
link_shared_library_message = '%sLinking Shared Library %s==> %s$TARGET%s' % (colors['red'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
java_library_message = '%sCreating Java Archive %s==> %s$TARGET%s' % (colors['red'], colors['purple'], colors['yellow'], colors['end'])
|
||||||
|
|
||||||
|
env.Append( CXXCOMSTR=[compile_source_message] )
|
||||||
|
env.Append( CCCOMSTR=[compile_source_message] )
|
||||||
|
env.Append( SHCCCOMSTR=[compile_shared_source_message] )
|
||||||
|
env.Append( SHCXXCOMSTR=[compile_shared_source_message] )
|
||||||
|
env.Append( ARCOMSTR=[link_library_message] )
|
||||||
|
env.Append( RANLIBCOMSTR=[ranlib_library_message] )
|
||||||
|
env.Append( SHLINKCOMSTR=[link_shared_library_message] )
|
||||||
|
env.Append( LINKCOMSTR=[link_program_message] )
|
||||||
|
env.Append( JARCOMSTR=[java_library_message] )
|
||||||
|
env.Append( JAVACCOMSTR=[java_compile_source_message] )
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,9 @@ def configure(env):
|
||||||
env["CC"]="clang"
|
env["CC"]="clang"
|
||||||
env["CXX"]="clang++"
|
env["CXX"]="clang++"
|
||||||
env["LD"]="clang++"
|
env["LD"]="clang++"
|
||||||
|
if (env["colored"]=="yes"):
|
||||||
|
if sys.stdout.isatty():
|
||||||
|
env.Append(CXXFLAGS=["-fcolor-diagnostics"])
|
||||||
|
|
||||||
is64=sys.maxsize > 2**32
|
is64=sys.maxsize > 2**32
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,9 @@ def configure(env):
|
||||||
env.extra_suffix=".llvms"
|
env.extra_suffix=".llvms"
|
||||||
else:
|
else:
|
||||||
env.extra_suffix=".llvm"
|
env.extra_suffix=".llvm"
|
||||||
|
if (env["colored"]=="yes"):
|
||||||
|
if sys.stdout.isatty():
|
||||||
|
env.Append(CXXFLAGS=["-fcolor-diagnostics"])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue