1 |
|
2 |
######################################################## |
3 |
# |
4 |
# Copyright (c) 2003-2008 by University of Queensland |
5 |
# Earth Systems Science Computational Center (ESSCC) |
6 |
# http://www.uq.edu.au/esscc |
7 |
# |
8 |
# Primary Business: Queensland, Australia |
9 |
# Licensed under the Open Software License version 3.0 |
10 |
# http://www.opensource.org/licenses/osl-3.0.php |
11 |
# |
12 |
######################################################## |
13 |
|
14 |
|
15 |
import os |
16 |
Import('*') |
17 |
|
18 |
local_env = clone_env(env_mpi) |
19 |
|
20 |
sources = """ |
21 |
EsysAssertException.cpp |
22 |
EsysException.cpp |
23 |
esysExceptionTranslator.cpp |
24 |
blocktimer.c |
25 |
""".split() |
26 |
headers = """ |
27 |
EsysAssert.h |
28 |
EsysAssertException.h |
29 |
EsysException.h |
30 |
EsysTypes.h |
31 |
esys_malloc.h |
32 |
esysExceptionTranslator.h |
33 |
blocktimer.h |
34 |
system_dep.h |
35 |
""".split() |
36 |
|
37 |
lib_name = 'esysUtils' |
38 |
|
39 |
if IS_WINDOWS_PLATFORM : |
40 |
local_env.Append(CPPDEFINES = ['ESYSUTILS_EXPORTS']) |
41 |
|
42 |
if local_env['share_esysUtils'] : |
43 |
lib = local_env.SharedLibrary(lib_name, sources) |
44 |
else: |
45 |
lib = local_env.StaticLibrary(lib_name, sources) |
46 |
|
47 |
env.Alias('target_esysUtils_a', lib) |
48 |
|
49 |
include_path = Dir(lib_name, local_env['incinstall']) |
50 |
|
51 |
tmp1 = local_env.Install(include_path, headers ) |
52 |
env.Alias('target_install_esysUtils_headers', [tmp1]) |
53 |
|
54 |
tmp3 = local_env.Install(local_env['libinstall'], lib) |
55 |
env.Alias('target_install_esysUtils_a', tmp3) |
56 |
|
57 |
# Call the unit tests SConscript |
58 |
# export the lib target since tests will depend on it |
59 |
# the lib target is a list of file nodes (why? win32 produces more than one output file: .lib, .dll, .pdb) |
60 |
# FIXME: This list handling produces the desired result but can this be done directly with scons File nodes? |
61 |
|
62 |
dep_lib = [local_env['libinstall']+'/'+str(x) for x in lib] |
63 |
Export('dep_lib') |
64 |
|
65 |
local_env.SConscript(dirs = ['#/esysUtils/test'], build_dir='#/build/$PLATFORM/esysUtils/test', duplicate=0) |
66 |
|