1 |
Import('*') |
2 |
|
3 |
lib_name = 'finleycpp' |
4 |
|
5 |
local_env=env.Copy() |
6 |
|
7 |
src_dir = local_env.Dir('.').srcnode().abspath |
8 |
|
9 |
import os |
10 |
filenames = os.listdir(src_dir) |
11 |
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 |
|
14 |
include = Dir('finley/CPPAdapter', esys_inc) |
15 |
local_env.Install( include, headers ) |
16 |
|
17 |
local_env.Append(LIBS= [boost_lib_name, 'paso', 'escriptcpp', 'finleyC', 'esysUtils']) |
18 |
|
19 |
if env['PLATFORM'] == "win32" or env['PLATFORM'] == "posix" : |
20 |
local_env.Append(CPPDEFINES=['_WINDOWS', '_USRDLL', 'FINLEY_EXPORTS']) |
21 |
local_env['PDB'] = lib_name + '.pdb' |
22 |
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 |
local_env = Environment(ENV = os.environ) |
35 |
|
36 |
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 |
|
41 |
finleycpp_lib = local_env.SharedLibrary(lib_name, sources) |
42 |
local_env.Install(esys_lib, finleycpp_lib) |
43 |
|
44 |
# Python |
45 |
local_env.Export('lib_name') |
46 |
env.SConscript(dirs = ['#/finley/py_src'], build_dir='build/$PLATFORM/finley/py', duplicate=0) |