X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=SConstruct;h=1fd27f0a0a51a003000f0c1a2ce977e39a9f217e;hb=4a99bad0289a65567e85cb51bd357a34562b2c04;hp=97ef1389a45855da54f9f14276b81de1efd583b9;hpb=e87f3008b5ad1c1c3f2ed6b1e49419eb0219eddb;p=senf.git diff --git a/SConstruct b/SConstruct index 97ef138..1fd27f0 100644 --- a/SConstruct +++ b/SConstruct @@ -21,6 +21,7 @@ prepare Create all target files not part of the repository default Build all default targets (like calling scons with no arguments) examples Build all examples all_tests Build and run unit tests for all modules +test_changes Build tests only for files with local changes (queries svn or git) all_docs Build documentation for all modules all Build everything install_all Install SENF into $$PREFIX @@ -101,7 +102,8 @@ env.SetDefault( LCOV = "lcov", GENHTML = "genhtml", SCONSBIN = env.File("#/tools/scons"), - SCONSARGS = [ '-Q', '-j$CONCURRENCY_LEVEL', 'debug=$debug', 'final=$final' ], + SCONSARGS = [ '-Q', '-j$CONCURRENCY_LEVEL', 'debug=$debug', 'final=$final' ] + \ + [ '%s=%s' % (k,v) for k,v in ARGUMENTS.iteritems() ], SCONS = "@$SCONSBIN $SCONSARGS", CONCURRENCY_LEVEL = env.GetOption('num_jobs') or 1, TOPDIR = env.Dir('#').abspath, @@ -119,6 +121,10 @@ senfutil.parseArguments( BoolVariable('sparse_tests', 'Link tests against object files and not the senf lib', False) ) +if 'test_changes' in COMMAND_LINE_TARGETS and not env.has_key('only_tests'): + import SparseTestHack + env['only_tests'] = " ".join(x.abspath for x in SparseTestHack.findSCMChanges(env)) + if env.has_key('only_tests') : env['sparse_tests'] = True Export('env') @@ -148,7 +154,8 @@ SConscript("Examples/SConscript") SConscript("HowTos/SConscript") SConscript("doclib/SConscript") if env['sparse_tests']: - SparseTestHack.build(env) + verbose = 'test_changes' in COMMAND_LINE_TARGETS + SparseTestHack.build(env, verbose, verbose) ########################################################################### # Define build targets @@ -164,6 +171,7 @@ env.Install('${INCLUDEINSTALLDIR}', 'boost') env.Alias('install_all', env.FindInstalledFiles()) env.Alias('default', DEFAULT_TARGETS) env.Alias('all_tests', env.FindAllBoostUnitTests()) +env.Alias('test_changes', 'all_tests') env.Alias('all', [ 'default', 'all_tests', 'examples', 'all_docs' ]) #### prepare