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

Contents of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


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


1
2 ##############################################################################
3 #
4 # Copyright (c) 2003-2020 by The University of Queensland
5 # http://www.uq.edu.au
6 #
7 # Primary Business: Queensland, Australia
8 # Licensed under the Apache License, version 2.0
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 # Development 2012-2013 by School of Earth Sciences
13 # Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 # Development from 2019 by School of Earth and Environmental Sciences
15 #
16 ##############################################################################
17
18 Import('*')
19
20 module_name = 'finley'
21
22 sources = """
23 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 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 Assemble_addToSystemMatrix.cpp
39 Assemble_getAssembleParameters.cpp
40 Assemble_getNormal.cpp
41 Assemble_getSize.cpp
42 Assemble_gradient.cpp
43 Assemble_integrate.cpp
44 Assemble_interpolate.cpp
45 Assemble_jacobians.cpp
46 DomainFactory.cpp
47 ElementFile.cpp
48 ElementFile_jacobians.cpp
49 FinleyDomain.cpp
50 IndexList.cpp
51 Mesh_addPoints.cpp
52 Mesh_findMatchingFaces.cpp
53 Mesh_getPasoPattern.cpp
54 Mesh_getTrilinosGraph.cpp
55 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 """.split()
72
73 headers = """
74 Assemble.h
75 DomainFactory.h
76 ElementFile.h
77 Finley.h
78 FinleyDomain.h
79 FinleyException.h
80 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 """.split()
90
91 local_env = env.Clone()
92
93 if IS_WINDOWS:
94 local_env.Append(CPPDEFINES = ['FINLEY_EXPORTS'])
95
96 # collect dependencies for other modules
97 finleylibs = []
98 finleylibs += env['escript_libs']
99 if env['parmetis']:
100 finleylibs += env['parmetis_libs']
101 if env['paso']:
102 finleylibs += env['paso_libs']
103 if env['trilinos']:
104 finleylibs += env['trilinoswrap_libs']
105
106 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
113 lib = local_env.SharedLibrary(module_name, sources)
114 lib_inst = local_env.Install(local_env['libinstall'], lib)
115
116 ### Python wrapper ###
117 py_env = env.Clone()
118 py_env.PrependUnique(LIBS = env['finley_libs'])
119 py_lib_name = module_name + 'cpp'
120 py_lib = py_env.PythonModule(py_lib_name, 'finleycpp.cpp')
121
122 mod_path = Dir(module_name, local_env['pyinstall'])
123 mod_inst = py_env.Install(mod_path, py_lib)
124
125 build = env.Alias('build_finley', [hdr_inst, lib, py_lib])
126 env.Alias('install_finley', [build, lib_inst, mod_inst])
127

  ViewVC Help
Powered by ViewVC 1.1.26