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

Annotation of /branches/ROBW_XPLATFORM/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 651 - (hide 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 jgs 182 Import('*')
2    
3 robwdcock 623 local_env=env.Copy()
4    
5     src_dir = local_env.Dir('.').srcnode().abspath
6    
7 jgs 182 import os
8 robwdcock 623 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 jgs 182
12 robwdcock 623 # Filter unused sources
13     sources.remove('ElementFile_borrowLocalVolume.c') # FIXME: Should this file be removed?
14 jgs 277
15 robwdcock 623 # 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 jgs 182
20 robwdcock 623 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 jgs 277
29 robwdcock 623 lib_name = 'finleycpp'
30 jgs 277
31 robwdcock 648 local_env.Append(LIBS = [boost_lib, python_lib, sys_libs, 'esysUtils', 'escriptcpp', 'paso'])
32 jgs 190
33 robwdcock 623 lib = local_env.SharedLibrary(lib_name, sources)
34 jgs 481
35 robwdcock 623 include_path = Dir(lib_name, incinstall)
36     cppadapter_include_path = Dir('CppAdapter', include_path)
37 jgs 182
38 robwdcock 623 local_env.Install(include_path, headers )
39     local_env.Install(cppadapter_include_path, cppadapter_headers )
40     local_env.Install(libinstall, lib)
41 jgs 277
42 robwdcock 648 # 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 robwdcock 651 # Call the python sconscript
49     env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)
50    
51     # Call the unit tests SConscript
52 robwdcock 648 local_env.SConscript(dirs = ['#/finley/test'], build_dir='#/build/$PLATFORM/finley/test', duplicate=0)
53    

  ViewVC Help
Powered by ViewVC 1.1.26