all unit tests: replaced BOOST_AUTO_UNIT_TEST with new SENF_AUTO_UNIT_TEST macro
[senf.git] / Examples / SConscript
index cdb256a..9ef20a0 100644 (file)
@@ -1,10 +1,26 @@
-import sys, glob, os.path, datetime
-sys.path.append('senfscons')
+# -*- python -*-
+
 Import('env')
-import SENFSCons
+import SENFSCons, glob
 
 ###########################################################################
 
-SConscript(glob.glob("*/SConscript"))
+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.Doxygen(env)
\ No newline at end of file
+for dox in glob.glob("*/Doxyfile"):
+    extra_sources = [ eval(line.split(':',1)[1])
+                      for line in file(dox) 
+                      if line.startswith("# extra_source: ") ]
+    SENFSCons.Doxygen(env, doxyfile=dox, extra_sources=extra_sources)