forked from fermi-lat/pointlike
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSConscript
42 lines (34 loc) · 1.52 KB
/
SConscript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- python -*-
# @file SConscript
# @brief scons build specifications
#
# $Header: /nfs/slac/g/glast/ground/cvs/pointlike/SConscript,v 1.196 2017/01/26 22:07:19 burnett Exp $
# Authors: Toby Burnett <[email protected]>
# Version: pointlike-09-05-02
import os
#specify package name, applications
package= 'pointlike'
libname = package+'Lib'
testname = 'test_'+package
apps =['pointfit', 'pointfind', 'alignment']
# this part is standard: assume includes, a shareable lib, zero or more applications, a test program
Import('baseEnv')
Import('listFiles')
progEnv = baseEnv.Clone()
libEnv = baseEnv.Clone()
libEnv.Tool('addLinkDeps', package=package, toBuild='shared')
progEnv.Tool(libname)
lib = libEnv.SharedLibrary(package, listFiles(['src/*.cxx']))
swigEnv = progEnv.Clone()
pyLib = swigEnv.SwigLibrary('_'+package,'src/swig_setup.i')
progEnv.Tool('registerTargets',
package = package,
includes = listFiles([package+'/*.h']),
libraryCxts = [[lib, libEnv]],
swigLibraryCxts = [[pyLib, swigEnv]],
binaryCxts = [[progEnv.Program(name, listFiles(['src/%s/*.cxx'%name])), progEnv] for name in apps],
###testAppCxts = [[progEnv.Program(testname, listFiles(['src/test/*.cxx'])), progEnv]],
data = ['data/test_events.root'],
python = (['src/pointlike.py','python/pointlike_defaults.py',
'python/pointfit.py', 'python/pointfit_setup.py',
'python/test_pointlike_setup.py']+listFiles(['python/uw'],recursive=True)))