/[escript]/trunk/doc/SConscript
ViewVC logotype

Contents of /trunk/doc/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3349 - (show annotations)
Mon Nov 15 05:09:56 2010 UTC (12 years, 4 months ago) by caltinay
File size: 6329 byte(s)
escript now supports out-of-tree builds.
All build and test files are now created under a user-definable build_dir
directory.
This also fixes issue 291.
Removed most svn:ignore props since they are no longer required.

1
2 ########################################################
3 #
4 # Copyright (c) 2003-2010 by University of Queensland
5 # Earth Systems Science Computational Center (ESSCC)
6 # http://www.uq.edu.au/esscc
7 #
8 # 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 #
12 ########################################################
13
14 import os
15 Import('*')
16
17 haveGMSH=False # do we have gmsh?
18 haveMPL=False # do we have matplotlib?
19 haveGD=False # does matplotlib have griddata?
20
21 # check for gmsh
22 try:
23 import subprocess
24 p=subprocess.Popen(['gmsh', '-version'], stderr=subprocess.PIPE)
25 p.poll()
26 haveGMSH=True
27 except OSError:
28 print("gmsh not found")
29
30 mplmagicversion='0.98.5'
31
32 # check for matplotlib
33 try:
34 import matplotlib
35 haveMPL=True
36 mplversion=matplotlib.__version__
37 from matplotlib.mlab import griddata
38 haveGD=True
39 except ImportError:
40 pass
41
42 if not haveMPL:
43 print("matplotlib not found, skipping some tests")
44 else:
45 if mplversion<mplmagicversion:
46 print("matplotlib found, but version too early. Some tests skipped.")
47
48 example_files_allow_mpi = []
49 example_files_no_mpi = []
50 example_deps = []
51
52 def sortOutExample(name, needsGMSH=False, needsMPL=False, needsMagicMPL=False, needsGD=False, allowsMPI=True):
53 if needsMagicMPL: needsMPL=True
54 if needsGD: needsMPL=True
55 if needsGMSH: allowsMPI=False
56
57 if (not needsGMSH or haveGMSH) and (not needsMPL or haveMPL) and (not needsMagicMPL or mplversion>=mplmagicversion) and (not needsGD or haveGD):
58 if allowsMPI:
59 example_files_allow_mpi.append(name)
60 else:
61 example_files_no_mpi.append(name)
62 else:
63 example_deps.append(name)
64
65 # these are the release examples in example subdirectory:
66 #
67 #_deps is for files which end in .py and are required for
68 # testing but should not be invoked directly themselves
69
70 sortOutExample('usersguide/lid_driven_cavity.py')
71 sortOutExample('usersguide/mount.py')
72 sortOutExample('usersguide/heatedblock.py')
73 sortOutExample('usersguide/helmholtz.py')
74 sortOutExample('usersguide/fluid.py')
75 sortOutExample('usersguide/poisson.py')
76 sortOutExample('usersguide/diffusion.py')
77 sortOutExample('usersguide/poisson_vtk.py')
78 sortOutExample('usersguide/slip.py')
79 sortOutExample('usersguide/int_save.py')
80 sortOutExample('usersguide/wave.py', needsMPL=True)
81 sortOutExample('usersguide/trapezoid.py', needsGMSH=True)
82 sortOutExample('usersguide/quad.py', needsGMSH=True)
83 sortOutExample('usersguide/brick.py', needsGMSH=True)
84 sortOutExample('usersguide/refine.py', needsGMSH=True)
85 sortOutExample('usersguide/poisson_matplotlib.py', needsGD=True, allowsMPI=False)
86
87 sortOutExample('geotutorial/steadystate_variablek.py')
88 sortOutExample('geotutorial/steadystate.py')
89 sortOutExample('geotutorial/forward_euler.py')
90 sortOutExample('geotutorial/myfirstscript.py')
91 sortOutExample('geotutorial/backward_euler.py')
92
93 example_deps.append('cookbook/cblib.py')
94 sortOutExample('cookbook/example01a.py')
95 sortOutExample('cookbook/example01b.py', needsMPL=True)
96 sortOutExample('cookbook/example01c.py', needsMPL=True, allowsMPI=False)
97 sortOutExample('cookbook/example02.py', needsMPL=True, allowsMPI=False)
98 sortOutExample('cookbook/example03a.py', needsGD=True, allowsMPI=False)
99 sortOutExample('cookbook/example03b.py')
100 sortOutExample('cookbook/example04a.py', needsGMSH=True)
101 sortOutExample('cookbook/example04b.py', needsGMSH=True, needsGD=True)
102 sortOutExample('cookbook/example05a.py', needsGMSH=True, needsGD=True)
103 sortOutExample('cookbook/example05b.py', needsGMSH=True, needsGD=True)
104 sortOutExample('cookbook/example05c.py', needsGMSH=True, needsGD=True, needsMagicMPL=True)
105 sortOutExample('cookbook/example06.py', needsGMSH=True, needsGD=True, needsMagicMPL=True)
106 sortOutExample('cookbook/example07a.py', needsMagicMPL=True, allowsMPI=False)
107 sortOutExample('cookbook/example07b.py', needsMagicMPL=True, allowsMPI=False)
108 sortOutExample('cookbook/example08a.py', needsMagicMPL=True, allowsMPI=False)
109 sortOutExample('cookbook/example08b.py', needsMagicMPL=True, allowsMPI=False)
110 sortOutExample('cookbook/example08c.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
111 #sortOutExample('cookbook/example09m.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
112 #sortOutExample('cookbook/example09a.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
113 #sortOutExample('cookbook/example09b.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
114
115 example_files = example_files_allow_mpi + example_files_no_mpi + example_deps
116
117 ex2=[os.path.join("examples", str(x)) for x in example_files]
118
119 #=============================================================================
120
121 local_env = env.Clone()
122 src_dir = local_env.Dir('.').srcnode().abspath
123 release_dir=os.path.join(env['prefix'],'release','doc')
124 Export('release_dir')
125
126 dir_cmd = "cd "+src_dir+" && "
127
128 # Need to use explicit tar/zip rather than the builder due to problems getting
129 # it not to put unwanted path components in the archive file
130 # --transform on tar is not supported on savanna
131 zip_path=os.path.join(release_dir, 'escript_examples.zip')
132 zip = local_env.Command(zip_path, None, dir_cmd+"zip "+zip_path+" "+" ".join(ex2))
133 env.Alias('examples_zipfile', zip)
134
135 tar_path=os.path.join(release_dir, 'escript_examples.tar.gz')
136 tar = local_env.Command(tar_path, None, dir_cmd+"tar -czf "+tar_path+" "+" ".join(ex2))
137 env.Alias('examples_tarfile', tar)
138
139 #env=Environment(TARFLAGS = "-c -z",chdir=src_dir)
140 #if 'Tar' in dir(env):
141 # tar=env.Tar(tar_path, example_files, chdir=src_dir)
142 # env.Alias('examples_tarfile', tar)
143
144 local_env.SConscript(dirs = ['#/doc/cookbook'], variant_dir='$BUILD_DIR/$PLATFORM/doc/cookbook', duplicate=1)
145 local_env.SConscript(dirs = ['#/doc/user'], variant_dir='$BUILD_DIR/$PLATFORM/doc/user', duplicate=1)
146 local_env.SConscript(dirs = ['#/doc/epydoc'], variant_dir='$BUILD_DIR/$PLATFORM/doc/epydoc', duplicate=1)
147 local_env.SConscript(dirs = ['#/doc/doxygen'], variant_dir='$BUILD_DIR/$PLATFORM/doc/doxygen', duplicate=1)
148 local_env.SConscript(dirs = ['#/doc/install'], variant_dir='$BUILD_DIR/$PLATFORM/doc/install', duplicate=1)
149 local_env.SConscript(dirs = ['#/doc/examples'], variant_dir='$BUILD_DIR/$PLATFORM/doc/examples', duplicate=1, exports=['example_files_allow_mpi', 'example_files_no_mpi', 'example_deps'])
150

  ViewVC Help
Powered by ViewVC 1.1.26