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

Annotation of /trunk/doc/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3078 - (hide annotations)
Tue Aug 3 03:12:16 2010 UTC (8 years, 7 months ago) by jfenwick
File size: 5976 byte(s)
Switched the build_dir keyword param to variant_dir.
Should fix issue 525.


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 ksteube 1811
15 gross 707 import os
16     Import('*')
17 jfenwick 2648
18    
19 jfenwick 2667 haveGMSH=(os.system("gmsh -version")/256==0) #Do we have gmsh installed?
20     haveMPL=False #Do we have matplotlib?
21     haveGD=False #Does the matplotlib have griddata?
22 jfenwick 2674
23     mplmagicversion='0.98.5'
24    
25 jfenwick 2578 try:
26 jfenwick 2667 import matplotlib
27     haveMPL=True
28 jfenwick 2674 mplversion=matplotlib.__version__
29 jfenwick 2648 from matplotlib.mlab import griddata
30 jfenwick 2667 haveGD=True
31 jfenwick 2578 except ImportError:
32 jfenwick 2667 pass
33 jfenwick 2578
34 jfenwick 2667 if not haveMPL:
35     print "matplotlib not found skipping some tests"
36     else:
37 jfenwick 2674 if mplversion<mplmagicversion:
38     print "matplotlib found but version too early. Some tests skipped."
39 jfenwick 2667
40     if not haveGMSH:
41     print "gmsh not found"
42    
43 gross 2950 example_files_allow_mpi = [ ]
44     example_files_no_mpi = [ ]
45     example_deps = [ ]
46 jfenwick 2667
47 gross 2950 def sortOutExample(name, needsGMSH=False, needsMPL=False, needsMagicMPL=False, needsGD=False, allowsMPI=True):
48     if needsMagicMPL: needsMPL=True
49     if needsGD: needsMPL=True
50     if needsGMSH: allowsMPI=False
51 jfenwick 2667
52 gross 2950 if (not needsGMSH or haveGMSH) and (not needsMPL or haveMPL) and (not needsMagicMPL or mplversion>=mplmagicversion) and (not needsGD or haveGD):
53     if allowsMPI:
54     example_files_allow_mpi.append(name)
55     else:
56     example_files_no_mpi.append(name)
57     else:
58     example_deps.append(name)
59     #
60     # these are the release examples in example sub directory:
61     #
62     #_deps is for files which end in .py and are required for
63     # testing but should not be invoked directly themselves
64 jfenwick 2667
65 gross 2950 sortOutExample( 'usersguide/lit_driven_cavity.py')
66     sortOutExample( 'usersguide/mount.py')
67     sortOutExample( 'usersguide/heatedblock.py')
68     sortOutExample( 'usersguide/helmholtz.py')
69     sortOutExample( 'usersguide/fluid.py')
70     sortOutExample( 'usersguide/poisson.py')
71     sortOutExample( 'usersguide/diffusion.py')
72     sortOutExample( 'usersguide/poisson_vtk.py')
73     sortOutExample( 'usersguide/slip.py')
74     sortOutExample( 'usersguide/int_save.py')
75     sortOutExample( 'usersguide/wave.py', needsMPL=True)
76     sortOutExample( 'usersguide/trapezoid.py', needsGMSH=True)
77     sortOutExample( 'usersguide/quad.py', needsGMSH=True)
78     sortOutExample( 'usersguide/brick.py', needsGMSH=True)
79     sortOutExample( 'usersguide/refine.py', needsGMSH=True)
80     sortOutExample( 'usersguide/poisson_matplotlib.py', needsGD=True, allowsMPI=False)
81    
82     sortOutExample( 'geotutorial/steadystate_variablek.py')
83     sortOutExample( 'geotutorial/steadystate.py')
84     sortOutExample( 'geotutorial/forward_euler.py')
85     sortOutExample( 'geotutorial/myfirstscript.py')
86     sortOutExample( 'geotutorial/backward_euler.py')
87    
88     example_deps.append('cookbook/cblib.py')
89     sortOutExample('cookbook/example01a.py')
90     sortOutExample('cookbook/example01b.py', needsMPL=True)
91     sortOutExample('cookbook/example01c.py', needsMPL=True, allowsMPI=False)
92     sortOutExample('cookbook/example02.py', needsMPL=True, allowsMPI=False)
93     sortOutExample('cookbook/example03a.py', needsGD=True, allowsMPI=False)
94     sortOutExample('cookbook/example03b.py')
95 gross 2951 sortOutExample('cookbook/example04a.py', needsGMSH=True)
96     sortOutExample('cookbook/example04b.py', needsGMSH=True, needsGD=True)
97 gross 2952 sortOutExample('cookbook/example05a.py', needsGMSH=True, needsGD=True)
98     sortOutExample('cookbook/example05b.py', needsGMSH=True, needsGD=True)
99 artak 2973 sortOutExample('cookbook/example05c.py', needsGMSH=True, needsGD=True, needsMagicMPL=True)
100 artak 2974 sortOutExample('cookbook/example06.py', needsGMSH=True, needsGD=True, needsMagicMPL=True)
101 gross 2950
102 jfenwick 2648 example_files= example_files_allow_mpi + example_files_no_mpi + example_deps
103 gross 2502
104 jfenwick 2503
105     ex2=[ os.path.join("examples",str(x)) for x in example_files]
106    
107 gross 2502 #==========================================================================================
108    
109 ksteube 1705 local_env = clone_env(env)
110 jfenwick 2402 src_dir = local_env.Dir('.').srcnode().abspath
111 gross 2502 release_dir=local_env.Dir('#/release/doc/').srcnode().abspath
112 ksteube 1215
113 jfenwick 2923 dir_cmd = "cd "+src_dir+" && "
114    
115     tmp1 = local_env.Command("#/release/doc/escript_examples.zip", None,
116     dir_cmd+"zip "+os.path.join(release_dir,"escript_examples.zip ") +" ".join(ex2),
117     #chdir=src_dir
118     )
119 ksteube 2091 env.Alias('examples_zipfile', tmp1)
120 ksteube 1215
121 ksteube 1705
122 jfenwick 2405 #Need to use explicit tar rather than the tar builder due to problems getting it not to put
123     #unwanted path components in the tar file
124     #--transform on tar is not supported on savanna
125 jfenwick 2923 tmp2 = local_env.Command("#/release/doc/escript_examples.tar.gz", None, dir_cmd+"tar -czf "+os.path.join(release_dir,"escript_examples.tar.gz ")+" ".join(ex2),
126     # chdir=src_dir
127     )
128 jfenwick 2405 env.Alias('examples_tarfile',tmp2)
129    
130     #env=Environment(TARFLAGS = "-c -z",chdir=src_dir)
131     #if 'Tar' in dir(env): env.Tar('#/release/doc/escript_examples.tar.gz', example_files,chdir=src_dir)
132     #env.Alias('examples_tarfile', '#release/doc/escript_examples.tar.gz')
133    
134 jfenwick 3078 CallSConscript(local_env, dirs = ['#/doc/cookbook'], variant_dir='#/build/$PLATFORM/doc/cookbook', duplicate=1)
135     CallSConscript(local_env, dirs = ['#/doc/user'], variant_dir='#/build/$PLATFORM/doc/user', duplicate=1)
136     CallSConscript(local_env, dirs = ['#/doc/epydoc'], variant_dir='#/build/$PLATFORM/doc/epydoc', duplicate=1)
137     CallSConscript(local_env, dirs = ['#/doc/doxygen'], variant_dir='#/build/$PLATFORM/doc/doxygen', duplicate=1)
138     CallSConscript(local_env, dirs = ['#/doc/install'], variant_dir='#/build/$PLATFORM/doc/install', duplicate=1)
139 ksteube 1705
140 jfenwick 2402
141 jfenwick 3078 #For some reason my CallSConscript wrapper fails when you want to use the exports= keyword
142     if cantusevariantdir:
143     local_env.SConscript(dirs = ['#/doc/examples'], build_dir='#/build/$PLATFORM/doc/examples', duplicate=1, exports=[ 'example_files_allow_mpi' , 'example_files_no_mpi', 'example_deps' ])
144     else:
145     local_env.SConscript(dirs = ['#/doc/examples'], variant_dir='#/build/$PLATFORM/doc/examples', duplicate=1, exports=[ 'example_files_allow_mpi' , 'example_files_no_mpi', 'example_deps' ])

  ViewVC Help
Powered by ViewVC 1.1.26