Move boost/intrusive to senf/boost_intrusive
[senf.git] / site_scons / SENFSCons.py
index 13f515e..01681e4 100644 (file)
@@ -46,7 +46,8 @@ def Doxygen(env, doxyfile = "Doxyfile", extra_sources = [], output_directory = "
                  'LIBDIR'          : env.Dir('#/site_scons/lib').abspath,
                  'output_dir'      : '$OUTPUT_DIRECTORY',
                  'html_dir'        : 'html',
-                 'html'            : 'NO' }
+                 'html'            : 'NO',
+                 'DOXYGEN'         : '$DOXYGEN' }
         denv.update(kw)
         return { 'DOXYENV'         : denv,
                  'MODULE'          : module,
@@ -178,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' ])