/[escript]/branches/RW_WIN32/finley/src/CPPAdapter/SConscript
ViewVC logotype

Annotation of /branches/RW_WIN32/finley/src/CPPAdapter/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 240 - (hide annotations)
Mon Nov 28 06:09:41 2005 UTC (14 years, 11 months ago) by robwdcock
File size: 1455 byte(s)
+ Fixed problem with build paths for python tests being in the wrong location
+ Added build & run for python unit tests for escript and finley.

NOTES
+ scons defaults to building ALL targets so if will build everything, including running all tests. This behaviour can be modified by specifying the DEFAULT targets but I've not done this yet. In the interim specify the target you want.
+ Some dependencies need to be specified as scons does not figure them out automatically, though a helper scanner might be able to. These can be specified explicitly using scons Depend function. Not yet done so you can get an invalid build (especially in parallel). Examples include python depends on shared libraries, possibly a couple of library dependencies for install targets - need to verify. 
1 jgs 182 Import('*')
2    
3 robwdcock 210 lib_name = 'finleycpp'
4 jgs 182
5 robwdcock 222 local_env=env.Copy()
6 jgs 182
7 robwdcock 222 src_dir = local_env.Dir('.').srcnode().abspath
8 jgs 182
9 phornby 221 import os
10     filenames = os.listdir(src_dir)
11 robwdcock 210 sources = [x for x in filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
12     headers = [x for x in filenames if os.path.splitext(x)[1] in ['.h']]
13 phornby 221
14     include = Dir('finley/CPPAdapter', esys_inc)
15 robwdcock 222 local_env.Install( include, headers )
16 jgs 182
17 robwdcock 222 local_env.Append(LIBS= [boost_lib_name, 'paso', 'escriptcpp', 'finleyC', 'esysUtils'])
18 jgs 182
19 phornby 221 if env['PLATFORM'] == "win32" or env['PLATFORM'] == "posix" :
20 robwdcock 222 local_env.Append(CPPDEFINES=['_WINDOWS', '_USRDLL', 'FINLEY_EXPORTS'])
21     local_env['PDB'] = lib_name + '.pdb'
22 robwdcock 210 else:
23     import os
24    
25     cxx_flags = '-O0 -openmp -openmp_report0 -tpp2 -ansi -ansi_alias -no-gcc -w1'
26    
27     cpp_path = ['#../finley/inc',
28     '#../esysUtils/inc',
29     '#../escript/inc',
30     '#../paso/inc',
31     '/raid2/tools/python-2.3.4/include/python2.3',
32     '/raid2/tools/boost/include/boost-1_31']
33    
34 robwdcock 222 local_env = Environment(ENV = os.environ)
35 robwdcock 210
36 robwdcock 222 local_env.Replace(CXX = 'icc')
37     local_env.Replace(SHOBJSUFFIX = '.lo')
38     local_env.Replace(CXXFLAGS = cxx_flags)
39     local_env.Replace(CPPPATH = cpp_path)
40 jgs 182
41 robwdcock 222 finleycpp_lib = local_env.SharedLibrary(lib_name, sources)
42 robwdcock 240 #Default(finleycpp_lib)
43 robwdcock 222 local_env.Install(esys_lib, finleycpp_lib)
44    
45     # Python
46     local_env.Export('lib_name')
47 robwdcock 240 env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)

  ViewVC Help
Powered by ViewVC 1.1.26