/[escript]/branches/ROBW_XPLATFORM/finley/src/SConscript
ViewVC logotype

Contents of /branches/ROBW_XPLATFORM/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 651 - (show annotations)
Fri Mar 24 06:44:23 2006 UTC (14 years, 4 months ago) by robwdcock
File size: 1955 byte(s)
+Python file now compile and install into pyinstall directory

1 Import('*')
2
3 local_env=env.Copy()
4
5 src_dir = local_env.Dir('.').srcnode().abspath
6
7 import os
8 filenames = os.listdir(src_dir)
9 sources = [x for x in filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
10 headers = [x for x in filenames if os.path.splitext(x)[1] in ['.h']]
11
12 # Filter unused sources
13 sources.remove('ElementFile_borrowLocalVolume.c') # FIXME: Should this file be removed?
14
15 # finleycpp has additional source in the CPPAdapter sub-directory. Append these to the list
16 cppadapter_filenames = os.listdir(src_dir+'/CPPAdapter');
17 sources += ['CPPAdapter/'+x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
18 cppadapter_headers = ['CPPAdapter/'+x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.h']]
19
20 if mkl_libs:
21 local_env.Append(CPPDEFINES=['MKL',])
22 if scsl_libs:
23 local_env.Append(CPPDEFINES=['SCSL',])
24 if umf_libs:
25 local_env.Append(CPPDEFINES=['UMFPACK',])
26 if papi_libs:
27 local_env.Append(CPPDEFINES=['PAPI',])
28
29 lib_name = 'finleycpp'
30
31 local_env.Append(LIBS = [boost_lib, python_lib, sys_libs, 'esysUtils', 'escriptcpp', 'paso'])
32
33 lib = local_env.SharedLibrary(lib_name, sources)
34
35 include_path = Dir(lib_name, incinstall)
36 cppadapter_include_path = Dir('CppAdapter', include_path)
37
38 local_env.Install(include_path, headers )
39 local_env.Install(cppadapter_include_path, cppadapter_headers )
40 local_env.Install(libinstall, lib)
41
42 # export the lib target since tests will depend on it
43 # the lib target is a list of file nodes (why? win32 produces more than one output file: .lib, .dll, .pdb)
44 # FIXME: This list handling produces the desired result but can this be done directly with scons File nodes?
45 dep_lib = [libinstall+'/'+str(x) for x in lib]
46 Export('dep_lib')
47
48 # Call the python sconscript
49 env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)
50
51 # Call the unit tests SConscript
52 local_env.SConscript(dirs = ['#/finley/test'], build_dir='#/build/$PLATFORM/finley/test', duplicate=0)
53

  ViewVC Help
Powered by ViewVC 1.1.26