source: trunk/scons/installtree.py@ 1128

Last change on this file since 1128 was 1124, checked in by mar637, 18 years ago

utility to install directory trees

File size: 1.0 KB
Line 
1import os
2import fnmatch
3from SCons.Script import *
4
5def InstallTree(env, dest_dir, src_dir, includes, excludes):
6 destnode = env.Dir(dest_dir)
7 dirs = []
8 dirs.append(src_dir)
9 while len(dirs) > 0:
10 currdir = dirs.pop(0)
11 currdestdir = dest_dir + currdir[len(src_dir):]
12 flist = os.listdir(currdir)
13 for currfile in flist:
14 currpath = os.path.join(currdir, currfile)
15 match = 0
16 for pattern in includes:
17 if fnmatch.fnmatchcase(currfile, pattern):
18 match = 1
19 if (match == 1):
20 for pattern in excludes:
21 if fnmatch.fnmatchcase(currfile, pattern):
22 match = 0
23 if (match == 1):
24 if (os.path.isdir(currpath)):
25 #print "d=" + currpath
26 dirs.append(currpath)
27 else:
28 #print "f=" + currpath
29 env.Install(currdestdir, currpath)
30 return destnode
Note: See TracBrowser for help on using the repository browser.