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

Annotation of /trunk/doc/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3463 - (hide annotations)
Mon Feb 7 02:09:57 2011 UTC (8 years ago) by caltinay
File size: 6713 byte(s)
Check for gmsh in main SConstruct file and skip tests that depend on it when
the executable is not found.

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

  ViewVC Help
Powered by ViewVC 1.1.26