/[escript]/trunk/esysUtils/src/SConscript
ViewVC logotype

Contents of /trunk/esysUtils/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 700 - (show annotations)
Thu Apr 6 00:13:40 2006 UTC (16 years, 11 months ago) by gross
File size: 1342 byte(s)
A few changes in the build mechanism and the file structure so scons can build release tar files:

  * paso/src/Solver has been moved to paso/src 
  * all test_.py are now run_.py files and are assumed to be passing python tests. they can run by 
    scons py_tests and are part of the release test set
  * escript/py_src/test_ are moved to escript/test/python and are installed in to the build directory 
    (rather then the PYTHONPATH).
  * all py files in test/python which don't start with run_ or test_ are now 'local_py_tests'. they are installed i
    by not run automatically.
  * CppUnitTest is now treated as a escript module (against previous decisions).
  * scons realse builds nor tar/zip files with relvant source code (src and tests in seperate files)

the python tests don't pass yet due to path problems.


1 import os
2 Import('*')
3
4 local_env=env.Copy()
5
6 # get the relevant file names:
7 src_dir = local_env.Dir('.').srcnode().abspath
8 filenames = [ x for x in os.listdir(src_dir) if os.path.splitext(x)[1] in [".h", ".c", ".cpp"] ]
9
10 sources = [x for x in filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
11 headers = [x for x in filenames if os.path.splitext(x)[1] in ['.h']]
12 # Filter out sources that should not be in the list automatically
13
14 lib_name = 'esysUtils'
15
16 local_env.Append(LIBS = [boost_lib, ])
17
18 lib = local_env.StaticLibrary(lib_name, sources)
19
20 include_path = Dir(lib_name, incinstall)
21
22 local_env.Install(include_path, headers )
23 local_env.Install(libinstall, lib)
24
25 # Call the unit tests SConscript
26 # export the lib target since tests will depend on it
27 # the lib target is a list of file nodes (why? win32 produces more than one output file: .lib, .dll, .pdb)
28 # FIXME: This list handling produces the desired result but can this be done directly with scons File nodes?
29
30 dep_lib = [libinstall+'/'+str(x) for x in lib]
31 Export('dep_lib')
32
33 local_env.SConscript(dirs = ['#/esysUtils/test'], build_dir='#/build/$PLATFORM/esysUtils/test', duplicate=0)
34
35
36 # add source files to release
37 release_srcfiles = [ env.File(x) for x in filenames ] + [env.File("SConscript"), ]
38 env.Zip(src_zipfile, release_srcfiles)
39 env.Tar(src_tarfile, release_srcfiles)
40

  ViewVC Help
Powered by ViewVC 1.1.26