1 |
gross |
700 |
import os |
2 |
jgs |
180 |
Import('*') |
3 |
|
|
|
4 |
robwdcock |
682 |
local_env=env.Copy() |
5 |
|
|
|
6 |
gross |
700 |
# get the relevant file names: |
7 |
robwdcock |
682 |
src_dir = local_env.Dir('.').srcnode().abspath |
8 |
gross |
700 |
filenames = [ x for x in os.listdir(src_dir) if os.path.splitext(x)[1] in [".h", ".c", ".cpp"] ] |
9 |
robwdcock |
682 |
|
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 |
jgs |
180 |
|
14 |
robwdcock |
682 |
lib_name = 'esysUtils' |
15 |
jgs |
180 |
|
16 |
ksteube |
1312 |
local_env.Append(LIBS = boost_lib) |
17 |
jgs |
190 |
|
18 |
robwdcock |
682 |
lib = local_env.StaticLibrary(lib_name, sources) |
19 |
jgs |
468 |
|
20 |
robwdcock |
682 |
include_path = Dir(lib_name, incinstall) |
21 |
jgs |
180 |
|
22 |
robwdcock |
682 |
local_env.Install(include_path, headers ) |
23 |
|
|
local_env.Install(libinstall, lib) |
24 |
jgs |
180 |
|
25 |
robwdcock |
682 |
# 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 |
jgs |
180 |
|
30 |
robwdcock |
682 |
dep_lib = [libinstall+'/'+str(x) for x in lib] |
31 |
|
|
Export('dep_lib') |
32 |
jgs |
352 |
|
33 |
gross |
700 |
local_env.SConscript(dirs = ['#/esysUtils/test'], build_dir='#/build/$PLATFORM/esysUtils/test', duplicate=0) |
34 |
robwdcock |
682 |
|
35 |
gross |
700 |
|
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 |
ksteube |
1312 |
env.Tar(src_tarfile, release_srcfiles) |
40 |
|
|
|