/[escript]/trunk/bruce/test/BruceFactory/SConscript
ViewVC logotype

Contents of /trunk/bruce/test/BruceFactory/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 288 - (show annotations)
Fri Dec 2 01:55:04 2005 UTC (13 years, 4 months ago) by jgs
File size: 3022 byte(s)
now automatically build unit tests as required based on dependencies
between unit tests and libraries

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

  ViewVC Help
Powered by ViewVC 1.1.26