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

Annotation of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1705 - (hide annotations)
Thu Aug 14 05:56:40 2008 UTC (10 years, 10 months ago) by ksteube
File size: 4828 byte(s)
Branch scons-dev is hereby closed.
Some parts of scons scripts have been re-written.

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

  ViewVC Help
Powered by ViewVC 1.1.26