env.Tool('Dia2Png', [ 'senfscons' ])
env.Tool('PkgDraw', [ 'senfscons' ])
env.Tool('CopyToDir', [ 'senfscons' ])
-env.Tool('ProgramNoScan', [ 'senfscons' ])
env.Tool('CompileCheck', [ 'senfscons' ])
env.Tool('Boost', [ 'senfscons' ])
env.Tool('BoostUnitTests', [ 'senfscons' ])
+env.Tool('InstallSubdir', [ 'senfscons' ])
env.Help("""
Additional top-level build targets:
-prepare Create all source files not part of the repository
+prepare Create all target files not part of the repository
all_tests Build and run unit tests for all modules
all_docs Build documentation for all modules
all Build everything
valgrind Run all tests under valgrind/memcheck
""")
-# Compile options
-
-# Options used to debug inlining:
-#
-# BEWARE: You need lots of ram to compile with these settings (approx 1G)
-
class BuildTypeOptions:
def __init__(self, var):
self._var = var
- def __call__(self, source, target, env, for_signature):
+ def __call__(self, target, source, env, for_signature):
type = env['final'] and "final" or env['debug'] and "debug" or "normal"
return env[self._var + "_" + type]
env.Append(
ENV = { 'PATH' : os.environ.get('PATH') },
- CLEAN_PATTERNS = [ '*~', '#*#', '*.pyc', 'semantic.cache', '.sconsign*' ],
+ CLEAN_PATTERNS = [ '*~', '#*#', '*.pyc', 'semantic.cache', '.sconsign*', '.sconsign' ],
CPPPATH = [ '#/include' ],
LOCALLIBDIR = '#',
SConscript(list(set(glob.glob("*/SConscript")) - set(initSConscripts)))
# Define the main targets
-SENFSCons.StandardTargets(env)
-SENFSCons.GlobalTargets(env)
+env.Alias('all', [ 'default', 'all_tests', 'all_docs' ])
-env.Depends( SENFSCons.Doxygen(env), env.Value(env['ENV']['REVISION']) )
+env.Depends(SENFSCons.Doxygen(env), env.Value(env['ENV']['REVISION']))
libsenf = env.Library(env.subst("$LIBSENF$LIBADDSUFFIX"), env['ALLOBJECTS'])
env.Default(libsenf)
env.Clean('all', libsenf)
env.Alias('default', libsenf)
-SENFSCons.InstallIncludeFiles(env, [ 'config.hh' ])
+env.InstallSubdir(target = '$INCLUDEINSTALLDIR', source = [ 'config.hh' ])
+
env.Alias('install_all', env.Install('$LIBINSTALLDIR', libsenf))
if env.GetOption('clean'):