Add SENFSCons.BuildExample helper
g0dil [Thu, 4 Feb 2010 21:16:15 +0000 (21:16 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1569 270642c3-0616-0410-b53a-bc976706d245

Examples/SConscript
site_scons/SENFSCons.py

index 9ef20a0..0709523 100644 (file)
@@ -10,14 +10,7 @@ SENFSCons.IndexPage(env, 'Mainpage.dox', title="Examples")
 SENFSCons.Doxygen(env)
 
 for sconstruct in glob.glob("*/SConstruct"):
-    dir=env.File(sconstruct).dir
-    example=env.Command(dir.File('.example.phony'), env.Alias('default'),
-                        [ '$SCONS -C $EXAMPLEDIR' ],
-                        CONCURRENCY_LEVEL=1, EXAMPLEDIR=dir)
-    env.Alias('examples', example)
-    if env.GetOption('clean') and ('all' in BUILD_TARGETS or 'examples' in BUILD_TARGETS):
-        env.Clone(CONCURRENCY_LEVEL=1, EXAMPLEDIR=dir).Execute([ '$SCONS -C $EXAMPLEDIR -c' ])
-                    
+    SENFSCons.BuildExample(env, sconstruct)
 
 for dox in glob.glob("*/Doxyfile"):
     extra_sources = [ eval(line.split(':',1)[1])
index 8beeabf..01681e4 100644 (file)
@@ -179,3 +179,14 @@ def AutoPacketBundle(env, name, exclude=[], subdirs=[], doc_extra_sources=[]):
     if includes              : env.InstallSubdir('$INCLUDEINSTALLDIR', includes)
     if doxyfile              : SENFSCons.Doxygen(env, extra_sources=((doc_extra_sources)) )
     if subscripts            : SConscript(subscripts)
+
+
+def BuildExample(env, sconstruct):
+    dir     = env.File( ((sconstruct)) ).dir
+    example = env.Command( dir.File('.example.phony'), env.Alias('default'),
+                           [ '$SCONS -C $EXAMPLEDIR' ],
+                           CONCURRENCY_LEVEL=1, EXAMPLEDIR=dir )
+    env.Alias('examples', example)
+
+    if env.GetOption('clean') and ('all' in BUILD_TARGETS or 'examples' in BUILD_TARGETS):
+        env.Clone(CONCURRENCY_LEVEL=1, EXAMPLEDIR=dir).Execute([ '$SCONS -C $EXAMPLEDIR -c' ])