/[escript]/trunk/bruce/test/Bruce/SConstruct
ViewVC logotype

Annotation of /trunk/bruce/test/Bruce/SConstruct

Parent Directory Parent Directory | Revision Log Revision Log


Revision 248 - (hide annotations)
Tue Nov 29 04:58:23 2005 UTC (14 years, 1 month ago) by jgs
File size: 2695 byte(s)
add top level scons config files to allow building
of all unit tests for each module at once

1 jgs 235 # Scons configuration file for Bruce unit tests
2 jgs 193
3     import os
4 jgs 226 import sys
5 jgs 193
6 jgs 226 #
7     # ensure correct versions of python and scons
8 jgs 193
9 jgs 226 EnsurePythonVersion(2,3)
10     EnsureSConsVersion(0,96)
11 jgs 193
12 jgs 226 #
13     # set appropriate defaults for configuration variables
14 jgs 193
15 jgs 226 esysroot = Dir('#../../..')
16     usegcc = 0
17 jgs 246 options = None
18 jgs 193
19 jgs 226 #
20 jgs 248 # import configuration variables passed in from
21     # calling SConscript (if any)
22    
23     Import('*')
24    
25     #
26 jgs 226 # retreive command-line arguments if any
27 jgs 193
28 jgs 226 if ARGUMENTS.get('usegcc',0):
29     usegcc = 1
30 jgs 193
31 jgs 246 if ARGUMENTS.get('options',0):
32     options = ARGUMENTS.get('options',0)
33    
34 jgs 226 #
35     # determine platform
36    
37     env = Environment(ENV = os.environ)
38     platform = env['PLATFORM']
39    
40     #
41     # determine hostname
42    
43     hostname = os.environ['HOSTNAME']
44    
45     #
46     # load configuration settings
47    
48     options_dir = str(esysroot) + '/scons'
49     sys.path.append(options_dir)
50    
51     if hostname=='ess':
52     from ess_options import *
53    
54 jgs 241 if usegcc==1:
55     from gcc_options import *
56    
57 jgs 246 if options!=None:
58     exec "from " + options + " import *"
59    
60 jgs 226 cxx_flags=cxx_flags_debug
61    
62     #
63     # print out build configuration for this module
64    
65     print "####################################################"
66     print "Build configuration for module: Bruce unit tests"
67     print " dodebug: 1"
68     print " usegcc: ", usegcc
69     print " cxx: ", cxx
70     print " platform: ", platform
71     print " hostname: ", hostname
72     print "####################################################"
73    
74     #
75     # do the actual build
76    
77 jgs 193 bruce_path = str(esysroot) + '/bruce/inc'
78     bruce_test_path = str(esysroot) + '/bruce/test/Bruce'
79     escript_path = str(esysroot) + '/escript/inc'
80     esysUtils_path = str(esysroot) + '/esysUtils/inc'
81     CppUnitTest_path = str(esysroot) + '/tools/CppUnitTest/inc'
82    
83     esys_lib_path = str(esysroot) + '/lib'
84     esysUtils_lib_path = str(esysroot) + '/esysUtils/lib'
85     CppUnitTest_lib_path = str(esysroot) + '/tools/CppUnitTest/lib'
86    
87     cpp_path = [bruce_path,
88     bruce_test_path,
89     escript_path,
90     esysUtils_path,
91     CppUnitTest_path,
92     python_path,
93     boost_path]
94    
95     lib_path = [esys_lib_path,
96     esysUtils_lib_path,
97     CppUnitTest_lib_path,
98     python_lib_path,
99     boost_lib_path]
100    
101     libs = ['brucecpp',
102     'escriptcpp',
103     'esysUtils',
104     'CppUnitTest',
105 jgs 239 str(python_lib),
106     str(boost_lib),
107 jgs 193 'dl',
108     'util',
109     'guide',
110     'irc']
111    
112     sources = ['BruceTestCase.cpp',
113     'BruceTest.cpp']
114    
115     target = 'BruceTest.exe'
116    
117     bruce_env = Environment(ENV = os.environ)
118    
119 jgs 226 bruce_env.Replace(CXX = cxx)
120 jgs 193 bruce_env.Replace(CXXFLAGS = cxx_flags)
121     bruce_env.Replace(CPPPATH = cpp_path)
122     bruce_env.Replace(LIBPATH = lib_path)
123     bruce_env.Replace(LIBS = libs)
124    
125     bruce_test_exe = bruce_env.Program(target, sources)

  ViewVC Help
Powered by ViewVC 1.1.26