doclib: link new berlios wiki
[senf.git] / senfscons / SENFSCons.py
index b10f2b4..125984a 100644 (file)
@@ -302,6 +302,18 @@ def GlobalTargets(env):
 # \internal
 def LibPath(lib): return '${LOCALLIBDIR}/${LIBPREFIX}%s${LIBADDSUFFIX}${LIBSUFFIX}' % lib
 
+def Test(env, sources, LIBS = [], OBJECTS = []):
+    test = env.BoostUnitTests(
+        target = 'test',
+        objects = [],
+        test_sources = sources,
+        LIBS = [ x + '$LIBADDSUFFIX' for x in LIBS ],
+        OBJECTS = OBJECTS,
+        DEPENDS = [ env.File(LibPath(x)) for x in LIBS ])
+    env.Alias('all_tests', test)
+    env.Alias(env.File('test'), test)
+    
+
 ## \brief Build object files
 #
 # This target helper will build object files from the given
@@ -463,13 +475,12 @@ def Doxygen(env, doxyfile = "Doxyfile", extra_sources = []):
             docs,
             SCons.Action.Action(("for html in %s/*.html; do " +
                         "    echo $$html;" +
-                        "    sed -e 's/id=\"current\"/class=\"current\"/' $${html}" +
-                        "        | tidy -ascii -q --show-warnings no --fix-uri no " +
-                        "        | xsltproc --nonet --html --stringparam topdir %s -o $${html}.new %s - 2>&1" +
-                        "        | grep '^-'" +
-                        "        | grep -v 'ID .* already defined';" +
-                        "    mv $${html}.new $${html}; " +
-                        "done")
+                        "    mv $${html} $${html}.orig;" +
+                        "    sed -e 's/id=\"current\"/class=\"current\"/' $${html}.orig" +
+                        "        | tidy -ascii -q --wrap 0 --show-warnings no --fix-uri no " +
+                        "        | sed -e 's/name=\"\([^\"]*\)\"\([^>]*\) id=\"\\1\"/name=\"\\1\"\\2/g'" +
+                        "        | xsltproc --novalid --nonet --html --stringparam topdir %s -o $${html} %s -;"
+                        "done; true")
                        % (htmlnode.dir.abspath, reltopdir, xslfile.abspath)))
         for doc in docs:
             env.Depends(doc, xslfile)