X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsite_tools%2FBoost.py;h=8df9c6bc5205e3abfa98246378320bfaf69e5b2e;hb=c6fb7bc1210f26501d95064eb8e6399a881f884e;hp=4e07ac3ac7f6bdb85f925e4e25bf5b326ffd418d;hpb=d33cd468d4ece7c0c98270b4d1a9858e5a94510d;p=senf.git diff --git a/site_scons/site_tools/Boost.py b/site_scons/site_tools/Boost.py index 4e07ac3..8df9c6b 100644 --- a/site_scons/site_tools/Boost.py +++ b/site_scons/site_tools/Boost.py @@ -77,6 +77,8 @@ def CompileCheck(target, source, env): CompileCheck = SCons.Script.Action(CompileCheck) def BoostUnitTest(env, target=None, source=None, **kw): + global _ALL_TESTS + target = env.arg2nodes(target)[0] source = env.arg2nodes(source) @@ -89,11 +91,10 @@ def BoostUnitTest(env, target=None, source=None, **kw): **kw) stamp = env.Command(stampnode, bin, - [ '$SOURCE $BOOSTTESTARGS', - 'touch $TARGET' ], + [ './$SOURCE $BOOSTTESTARGS', SCons.Script.Touch('$TARGET')], **kw) - alias = env.Command(env.File(target), stamp, []) + alias = env.Command(env.File(target), stamp, [ env.NopAction() ] ) compileTests = [ src for src in source if src.suffix in SCons.Tool.cplusplus.CXXSuffixes \ @@ -107,17 +108,24 @@ def BoostUnitTest(env, target=None, source=None, **kw): return alias def FindAllBoostUnitTests(env, target, source): + global _ALL_TESTS return _ALL_TESTS +def NopAction(env, target, source): + def nop(target, source, env) : return None + def nopstr(target, source, env) : return '' + return env.Action(nop, nopstr) + def generate(env): env.SetDefault( BOOST_VARIANT = '', + _BOOST_VARIANT = '${BOOST_VARIANT and "-" or None}$BOOST_VARIANT', - BOOSTTESTLIB = 'boost_unit_test_framework$BOOST_VARIANT', - BOOSTREGEXLIB = 'boost_regex$BOOST_VARIANT', - BOOSTFSLIB = 'boost_filesystem$BOOST_VARIANT', - BOOSTIOSTREAMSLIB = 'boost_iostreams$BOOST_VARIANT', - BOOSTSIGNALSLIB = 'boost_signals$BOOST_VARIANT', + BOOSTTESTLIB = 'boost_unit_test_framework$_BOOST_VARIANT', + BOOSTREGEXLIB = 'boost_regex$_BOOST_VARIANT', + BOOSTFSLIB = 'boost_filesystem$_BOOST_VARIANT', + BOOSTIOSTREAMSLIB = 'boost_iostreams$_BOOST_VARIANT', + BOOSTSIGNALSLIB = 'boost_signals$_BOOST_VARIANT', BOOSTTESTARGS = [ '--build_info=yes', '--log_level=test_suite' ], ) @@ -131,6 +139,7 @@ def generate(env): source_scanner = SCons.Scanner.C.CScanner(), single_source=1 ) + env['BUILDERS']['NopAction'] = NopAction def exists(env): return True