X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=SConstruct;h=c8e0d4560fa107a3551086ba118b0711dacbbdf7;hb=b1f9349b1f3521d58cbef52ead0f2e5303a58c9e;hp=cca03b8a6e56ecca1c286c59bf0b2189b0af4efe;hpb=a5428583d411aae9d768f55deea83b8a7abb25a1;p=senf.git diff --git a/SConstruct b/SConstruct index cca03b8..c8e0d45 100644 --- a/SConstruct +++ b/SConstruct @@ -15,15 +15,15 @@ env.Tool('Doxygen', [ 'senfscons' ]) 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 @@ -36,23 +36,17 @@ fixlinks Fix broken links in doxygen documentation 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 = '#', @@ -145,17 +139,17 @@ if os.path.exists('SConscript.local'): 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'):