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

Annotation of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6939 - (hide annotations)
Mon Jan 20 03:37:18 2020 UTC (2 months, 1 week ago) by uqaeller
File size: 3345 byte(s)
Updated the copyright header.


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 ksteube 1705 """.split()
90 jfenwick 3259
91 caltinay 6119 local_env = env.Clone()
92 caltinay 3737
93 jfenwick 3259 if IS_WINDOWS:
94     local_env.Append(CPPDEFINES = ['FINLEY_EXPORTS'])
95 phornby 2027
96 caltinay 6119 # collect dependencies for other modules
97 caltinay 6175 finleylibs = []
98     finleylibs += env['escript_libs']
99 caltinay 6145 if env['parmetis']:
100     finleylibs += env['parmetis_libs']
101 caltinay 6119 if env['paso']:
102 caltinay 6145 finleylibs += env['paso_libs']
103 caltinay 6119 if env['trilinos']:
104     finleylibs += env['trilinoswrap_libs']
105 jgs 277
106 caltinay 6119 local_env.PrependUnique(LIBS = finleylibs)
107    
108     env['finley_libs'] = [module_name] + finleylibs
109    
110     include_path = Dir(module_name, local_env['incinstall'])
111     hdr_inst = local_env.Install(include_path, headers)
112 jgs 190
113 caltinay 6119 lib = local_env.SharedLibrary(module_name, sources)
114 jfenwick 3259 lib_inst = local_env.Install(local_env['libinstall'], lib)
115 gross 806
116 jfenwick 3259 ### Python wrapper ###
117 caltinay 6119 py_env = env.Clone()
118 caltinay 6148 py_env.PrependUnique(LIBS = env['finley_libs'])
119 caltinay 6119 py_lib_name = module_name + 'cpp'
120 caltinay 6207 py_lib = py_env.PythonModule(py_lib_name, 'finleycpp.cpp')
121 caltinay 3737
122 caltinay 6119 mod_path = Dir(module_name, local_env['pyinstall'])
123     mod_inst = py_env.Install(mod_path, py_lib)
124 jfenwick 3259
125 caltinay 6119 build = env.Alias('build_finley', [hdr_inst, lib, py_lib])
126     env.Alias('install_finley', [build, lib_inst, mod_inst])
127 phornby 1840

  ViewVC Help
Powered by ViewVC 1.1.26