import os.path, SCons.Options, SCons.Environment, SCons.Script.SConscript, glob
+SCONS_TOOLS = [
+ "Doxygen",
+ "Dia2Png",
+]
+
opts = None
finalizers = []
+basedir = os.path.split(__file__)[0]
+
def InitOpts():
global opts
if opts is not None: return
Finalizer(FinalizeBoost)
def FinalizeBoost(env):
- env.Tool('BoostUnitTests', [os.path.split(__file__)[0]])
+ env.Tool('BoostUnitTests', [basedir])
if env['BOOST_TOOLSET']:
runtime = ""
env.Append(LIBS = [ '$STLPORT_DEBUGLIB' ],
CPPDEFINES = [ '_STLP_DEBUG' ])
-def UseDoxygen():
- Finalizer(FinalizeDoxygen)
-
-def FinalizeDoxygen(env):
- env.Tool('Doxygen', [os.path.split(__file__)[0]])
-
def MakeEnvironment():
global opts, finalizers
InitOpts()
for finalizer in finalizers:
finalizer(env)
+ for tool in SCONS_TOOLS:
+ env.Tool(tool, [basedir])
+
env.Append(CXXFLAGS = [ '-Wall', '-Woverloaded-virtual', '-Wno-long-long' ],
LOCALLIBDIR = [ '#' ],
LIBPATH = [ '$LOCALLIBDIR' ])
return objects
-def Doxygen(env, sources, testSources = None, target='doc', image = []):
- if type(sources) == type(()):
- testSources = sources[1]
- sources = sources[0]
-
- doc = env.Doxygen(
- target = target,
- source = sources,
- image = image)
-
- env.Alias('all_docs', doc)
- return doc
+def DoxyGlob(exclude=[]):
+ sources = [ f
+ for ext in ("cci", "ct", "cti", "h", "hh", "ih", "mmc", "dox")
+ for f in glob.glob("*."+ext)
+ if f not in exclude ]
+ return sources
+
+def Doxygen(env, doxyfile="Doxyfile", extra_sources = []):
+ docs = env.Doxygen(doxyfile)
+ env.Depends(docs,extra_sources)
+ env.Alias('all_docs', *docs)
+ return docs
def Lib(env, library, sources, testSources = None, LIBS = []):
objects = Objects(env,sources,testSources,LIBS=LIBS)