Continueed playing around with the buildsystem.
[aesalon.git] / SConstruct
blob0ec225dc6be8b72f2117215ae178b9eb5540f0c0
1 import sys
2 import os
3 import subprocess
5 colors = {}
6 colors["cyan"] = '\033[96m'
7 colors["purple"] = '\033[95m'
8 colors["blue"] = '\033[94m'
9 colors["green"] = '\033[92m'
10 colors["yellow"] = '\033[93m'
11 colors["red"] = '\033[91m'
12 colors["end"] = '\033[0m'
14 #If the output is not a terminal, remove the colors
15 if not sys.stdout.isatty():
16 for key, value in colors.iteritems():
17 colors[key] = ''
19 compile_source_message = '%sCompiling %s==> %s$SOURCE%s' % \
20 (colors['blue'], colors['purple'], colors['yellow'], colors['end'])
22 compile_shared_source_message = '%sCompiling shared %s==> %s$SOURCE%s' % \
23 (colors['blue'], colors['purple'], colors['yellow'], colors['end'])
25 link_program_message = '%sLinking Program %s==> %s$TARGET%s' % \
26 (colors['red'], colors['purple'], colors['yellow'], colors['end'])
28 link_library_message = '%sLinking Static Library %s==> %s$TARGET%s' % \
29 (colors['red'], colors['purple'], colors['yellow'], colors['end'])
31 ranlib_library_message = '%sRanlib Library %s==> %s$TARGET%s' % \
32 (colors['red'], colors['purple'], colors['yellow'], colors['end'])
34 link_shared_library_message = '%sLinking Shared Library %s==> %s$TARGET%s' % \
35 (colors['red'], colors['purple'], colors['yellow'], colors['end'])
37 env = Environment(
38 CXXCOMSTR = compile_source_message,
39 CCCOMSTR = compile_source_message,
40 SHCCCOMSTR = compile_shared_source_message,
41 SHCXXCOMSTR = compile_shared_source_message,
42 ARCOMSTR = link_library_message,
43 RANLIBCOMSTR = ranlib_library_message,
44 SHLINKCOMSTR = link_shared_library_message,
45 LINKCOMSTR = link_program_message,
47 ENV = {'PATH' : os.environ['PATH'],
48 'TERM' : os.environ['TERM'],
49 'HOME' : os.environ['HOME']})
51 cwd = subprocess.Popen("pwd", stdout=subprocess.PIPE).stdout.read().strip()
53 env.Append(CPPPATH = [cwd + "/include/"])
54 env.Append(includeRoot = cwd + "/include/")
56 Export('env')
58 SConscript("build/SConscript")
59 SConscript("monitor/SConscript")
60 SConscript("modules/SConscript")
61 SConscript("tests/SConscript")
62 SConscript("visualizer/SConscript")