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

Annotation of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7027 - (hide annotations)
Fri Aug 7 05:26:26 2020 UTC (9 months ago) by uqaeller
File size: 3362 byte(s)
Merged in most of Mark's work
1 ksteube 1811
2 jfenwick 3982 ##############################################################################
3 gross 707 #
4 uqaeller 6939 # Copyright (c) 2003-2020 by The University of Queensland
5 jfenwick 3982 # http://www.uq.edu.au
6 ksteube 1705 #
7 ksteube 1811 # Primary Business: Queensland, Australia
8 jfenwick 6112 # Licensed under the Apache License, version 2.0
9     # http://www.apache.org/licenses/LICENSE-2.0
10 ksteube 1705 #
11 jfenwick 3982 # Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 jfenwick 4657 # Development 2012-2013 by School of Earth Sciences
13     # Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 uqaeller 6939 # Development from 2019 by School of Earth and Environmental Sciences
15 jfenwick 3982 #
16     ##############################################################################
17 ksteube 1705
18 jgs 182 Import('*')
19    
20 caltinay 6119 module_name = 'finley'
21 ksteube 1705
22     sources = """
23 jfenwick 4346 Assemble_AverageElementData.cpp
24     Assemble_CopyElementData.cpp
25     Assemble_CopyNodalData.cpp
26     Assemble_LumpedSystem.cpp
27     Assemble_NodeCoordinates.cpp
28     Assemble_PDE.cpp
29     Assemble_PDE_Points.cpp
30 caltinay 4626 Assemble_PDE_Single_1D.cpp
31     Assemble_PDE_Single_2D.cpp
32     Assemble_PDE_Single_3D.cpp
33     Assemble_PDE_Single_C.cpp
34     Assemble_PDE_System_1D.cpp
35     Assemble_PDE_System_2D.cpp
36     Assemble_PDE_System_3D.cpp
37     Assemble_PDE_System_C.cpp
38 jfenwick 4346 Assemble_addToSystemMatrix.cpp
39     Assemble_getAssembleParameters.cpp
40 caltinay 4500 Assemble_getNormal.cpp
41 jfenwick 4346 Assemble_getSize.cpp
42     Assemble_gradient.cpp
43     Assemble_integrate.cpp
44     Assemble_interpolate.cpp
45 caltinay 4422 Assemble_jacobians.cpp
46 caltinay 6207 DomainFactory.cpp
47 jfenwick 4346 ElementFile.cpp
48 caltinay 4422 ElementFile_jacobians.cpp
49 caltinay 6207 FinleyDomain.cpp
50 jfenwick 4346 IndexList.cpp
51 caltinay 4496 Mesh_addPoints.cpp
52 jfenwick 4346 Mesh_findMatchingFaces.cpp
53 caltinay 6216 Mesh_getPasoPattern.cpp
54     Mesh_getTrilinosGraph.cpp
55 jfenwick 4346 Mesh_glueFaces.cpp
56     Mesh_hex20.cpp
57     Mesh_hex8.cpp
58     Mesh_joinFaces.cpp
59     Mesh_merge.cpp
60     Mesh_optimizeDOFDistribution.cpp
61     Mesh_read.cpp
62     Mesh_readGmsh.cpp
63     Mesh_rec4.cpp
64     Mesh_rec8.cpp
65     Mesh_write.cpp
66     NodeFile.cpp
67     Quadrature.cpp
68     ReferenceElements.cpp
69     ShapeFunctions.cpp
70     Util.cpp
71 ksteube 1705 """.split()
72 jfenwick 3259
73 ksteube 1705 headers = """
74 jfenwick 3259 Assemble.h
75 caltinay 6207 DomainFactory.h
76 jfenwick 3259 ElementFile.h
77     Finley.h
78 caltinay 6207 FinleyDomain.h
79 caltinay 5972 FinleyException.h
80 jfenwick 3259 FinleyVersion.h
81     IndexList.h
82     NodeFile.h
83     NodeMapping.h
84     Quadrature.h
85     ReferenceElements.h
86     ShapeFunctions.h
87     Util.h
88     ReferenceElementSets.h
89 uqaeller 7027 system_dep.h
90 ksteube 1705 """.split()
91 jfenwick 3259
92 caltinay 6119 local_env = env.Clone()
93 caltinay 3737
94 jfenwick 3259 if IS_WINDOWS:
95     local_env.Append(CPPDEFINES = ['FINLEY_EXPORTS'])
96 phornby 2027
97 caltinay 6119 # collect dependencies for other modules
98 caltinay 6175 finleylibs = []
99     finleylibs += env['escript_libs']
100 caltinay 6145 if env['parmetis']:
101     finleylibs += env['parmetis_libs']
102 caltinay 6119 if env['paso']:
103 caltinay 6145 finleylibs += env['paso_libs']
104 caltinay 6119 if env['trilinos']:
105     finleylibs += env['trilinoswrap_libs']
106 jgs 277
107 caltinay 6119 local_env.PrependUnique(LIBS = finleylibs)
108    
109     env['finley_libs'] = [module_name] + finleylibs
110    
111     include_path = Dir(module_name, local_env['incinstall'])
112     hdr_inst = local_env.Install(include_path, headers)
113 jgs 190
114 caltinay 6119 lib = local_env.SharedLibrary(module_name, sources)
115 jfenwick 3259 lib_inst = local_env.Install(local_env['libinstall'], lib)
116 gross 806
117 jfenwick 3259 ### Python wrapper ###
118 caltinay 6119 py_env = env.Clone()
119 caltinay 6148 py_env.PrependUnique(LIBS = env['finley_libs'])
120 caltinay 6119 py_lib_name = module_name + 'cpp'
121 caltinay 6207 py_lib = py_env.PythonModule(py_lib_name, 'finleycpp.cpp')
122 caltinay 3737
123 caltinay 6119 mod_path = Dir(module_name, local_env['pyinstall'])
124     mod_inst = py_env.Install(mod_path, py_lib)
125 jfenwick 3259
126 caltinay 6119 build = env.Alias('build_finley', [hdr_inst, lib, py_lib])
127     env.Alias('install_finley', [build, lib_inst, mod_inst])
128 phornby 1840

  ViewVC Help
Powered by ViewVC 1.1.26