/[escript]/trunk/finley/src/SConscript
ViewVC logotype

Annotation of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1811 - (hide annotations)
Thu Sep 25 23:11:13 2008 UTC (10 years, 8 months ago) by ksteube
File size: 4805 byte(s)
Copyright updated in all files

1 ksteube 1811
2     ########################################################
3 gross 707 #
4 ksteube 1811 # Copyright (c) 2003-2008 by University of Queensland
5     # Earth Systems Science Computational Center (ESSCC)
6     # http://www.uq.edu.au/esscc
7 ksteube 1705 #
8 ksteube 1811 # 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 ksteube 1705 #
12 ksteube 1811 ########################################################
13 ksteube 1705
14 ksteube 1811
15 gross 700 import os
16 jgs 182 Import('*')
17    
18 ksteube 1705 local_env = clone_env(env_mpi)
19     py_wrapper_local_env = clone_env(env_mpi)
20    
21 robwdcock 682 # Remove the sharedlibrary prefix on all platform - we don't want 'lib' mucking with our python modules
22     del py_wrapper_local_env['SHLIBPREFIX']
23 jgs 182
24 ksteube 1705 sources = """
25     Assemble_AverageElementData.c
26     Assemble_CopyElementData.c
27     Assemble_CopyNodalData.c
28     Assemble_LumpedSystem.c
29     Assemble_NodeCoordinates.c
30     Assemble_PDE.c
31     Assemble_PDE_Single2_1D.c
32     Assemble_PDE_Single2_2D.c
33     Assemble_PDE_Single2_3D.c
34     Assemble_PDE_Single2_C.c
35     Assemble_PDE_System2_1D.c
36     Assemble_PDE_System2_2D.c
37     Assemble_PDE_System2_3D.c
38     Assemble_PDE_System2_C.c
39     Assemble_addToSystemMatrix.c
40     Assemble_getAssembleParameters.c
41     Assemble_getSize.c
42     Assemble_gradient.c
43     Assemble_integrate.c
44     Assemble_interpolate.c
45     Assemble_jacobeans.c
46     Assemble_setNormal.c
47     ElementFile.c
48     ElementFile_allocTable.c
49     ElementFile_copyTable.c
50     ElementFile_createColoring.c
51     ElementFile_distributeByRankOfDOF.c
52     ElementFile_gather.c
53     ElementFile_jacobeans.c
54     ElementFile_markNodes.c
55     ElementFile_optimizeOrdering.c
56     ElementFile_relableNodes.c
57     ElementFile_scatter.c
58     ElementFile_setCoordinates.c
59     ElementFile_setNodeRange.c
60     ElementFile_setTags.c
61     Finley.c
62     IndexList.c
63     Mesh.c
64     Mesh_createNodeFileMappings.c
65     Mesh_distributeByRankOfDOF.c
66     Mesh_findMatchingFaces.c
67     Mesh_getPattern.c
68     Mesh_glueFaces.c
69     Mesh_hex20.c
70     Mesh_hex8.c
71     Mesh_joinFaces.c
72     Mesh_markNodes.c
73     Mesh_merge.c
74     Mesh_optimizeDOFDistribution.c
75     Mesh_optimizeDOFLabeling.c
76     Mesh_prepare.c
77     Mesh_print.c
78     Mesh_read.c
79     Mesh_readGmsh.c
80     Mesh_rec4.c
81     Mesh_rec8.c
82     Mesh_relableElementNodes.c
83     Mesh_resolveNodeIds.c
84     Mesh_saveDX.c
85     Mesh_saveVTK.c
86     Mesh_setCoordinates.c
87     Mesh_tagmaps.c
88     Mesh_write.c
89     NodeFile.c
90     NodeFile_allocTable.c
91     NodeFile_copyTable.c
92     NodeFile_createDenseLabelings.c
93     NodeFile_gather.c
94     NodeFile_scatter.c
95     NodeFile_setCoordinates.c
96     NodeFile_setIdRange.c
97     NodeFile_setTags.c
98     NodeMapping.c
99     Quadrature.c
100     ReferenceElements.c
101     ShapeFunctions.c
102     TagMap.c
103     Util.c
104     CPPAdapter/FinleAdapterException.cpp
105     CPPAdapter/FinleyError.cpp
106     CPPAdapter/MeshAdapter.cpp
107     CPPAdapter/MeshAdapterFactory.cpp
108     CPPAdapter/SystemMatrixAdapter.cpp
109     CPPAdapter/TransportProblemAdapter.cpp
110     """.split()
111     headers = """
112     Assemble.h
113     ElementFile.h
114     Finley.h
115     FinleyVersion.h
116     IndexList.h
117     Mesh.h
118     NodeFile.h
119     NodeMapping.h
120     Quadrature.h
121     RectangularMesh.h
122     ReferenceElements.h
123     ShapeFunctions.h
124     TagMap.h
125     Util.h
126     vtkCellType.h
127     """.split()
128     cppadapter_headers = """
129     CPPAdapter/FinleyAdapterException.h
130     CPPAdapter/FinleyError.h
131     CPPAdapter/MeshAdapter.h
132     CPPAdapter/MeshAdapterFactory.h
133     CPPAdapter/SystemMatrixAdapter.h
134     CPPAdapter/TransportProblemAdapter.h
135     CPPAdapter/system_dep.h
136     """.split()
137 jgs 277
138 ksteube 1705 local_env.Append(LIBS = ['escript', 'esysUtils', 'paso'] + env['sys_libs'] )
139     py_wrapper_local_env.Append(LIBS = ['finley', 'escript', 'esysUtils', 'paso'] + env['sys_libs'] )
140 jgs 182
141 ksteube 1705 lib = local_env.SharedLibrary('finley', sources)
142     env.Alias('target_finley_so', lib)
143 jgs 277
144 ksteube 1705 py_wrapper_lib = py_wrapper_local_env.SharedLibrary('finleycpp', 'CPPAdapter/finleycpp.cpp')
145     env.Alias('target_finleycpp_so', py_wrapper_lib)
146 jgs 277
147 ksteube 1705 include_path = Dir('finley', local_env['incinstall'])
148     cppadapter_include_path = Dir('CppAdapter', include_path)
149 jgs 190
150 ksteube 1705 tmp1 = local_env.Install(include_path, headers )
151     tmp2 = local_env.Install(cppadapter_include_path, cppadapter_headers )
152     env.Alias('target_install_finley_headers', [tmp1, tmp2])
153 jgs 481
154 ksteube 1705 tmp3 = local_env.Install(local_env['libinstall'], lib)
155     env.Alias('target_install_finley_so', tmp3)
156 gross 806
157 trankine 1428 #windows specific mod
158     if os.name == 'nt':
159 ksteube 1705 tmp4 = py_wrapper_local_env.Install(local_env['pyinstall']+'/finley', ['finleycpp.pyd', 'finleycpp.lib', 'finleycpp.exp'])
160     else:
161     tmp4 = py_wrapper_local_env.InstallAs(local_env['pyinstall']+'/finley/finleycpp.so', py_wrapper_lib)
162     env.Alias('target_install_finleycpp_so', tmp4)
163 trankine 1428
164 robwdcock 682 # export the lib target since tests will depend on it
165     # the lib target is a list of file nodes (why? win32 produces more than one output file: .lib, .dll, .pdb)
166     # FIXME: This list handling produces the desired result but can this be done directly with scons File nodes?
167 ksteube 1705 dep_lib = [local_env['libinstall']+'/'+str(x) for x in lib]
168 robwdcock 682 Export('dep_lib')
169 jgs 277
170 robwdcock 682 # Call the python sconscript
171     env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)
172 jgs 277
173 robwdcock 682 # Call the unit tests SConscript
174     local_env.SConscript(dirs = ['#/finley/test'], build_dir='#/build/$PLATFORM/finley/test', duplicate=0)
175 jgs 481

  ViewVC Help
Powered by ViewVC 1.1.26