X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsite_tools%2FBoost.py;h=bc6e0e691d55904925ada4f4d83025e39e61ad83;hb=84f14a42f9993e186c7897ce0db021300e0a2d48;hp=7c0255b26c0dcf32ccd01c9837c57ea5d923f507;hpb=164fe477094d42463722584e527a02379ab5d985;p=senf.git diff --git a/site_scons/site_tools/Boost.py b/site_scons/site_tools/Boost.py index 7c0255b..bc6e0e6 100644 --- a/site_scons/site_tools/Boost.py +++ b/site_scons/site_tools/Boost.py @@ -36,7 +36,8 @@ def CompileCheck(target, source, env): passedTests = {} delay_name = None out.seek(0) - for error in out.read().splitlines(): + result = out.read(); + for error in result.splitlines(): elts = error.split(':',2) if len(elts) != 3 : continue filename, line, message = elts @@ -71,12 +72,14 @@ def CompileCheck(target, source, env): if os.path.exists(target[0].abspath): os.unlink(target[0].abspath) return 1 - file(target[0].abspath,"w").close() + file(target[0].abspath,"w").write(result) return 0 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,7 +92,7 @@ def BoostUnitTest(env, target=None, source=None, **kw): **kw) stamp = env.Command(stampnode, bin, - [ '$SOURCE $BOOSTTESTARGS', SCons.Script.Touch('$TARGET')], + [ './$SOURCE $BOOSTTESTARGS', SCons.Script.Touch('$TARGET')], **kw) alias = env.Command(env.File(target), stamp, [ env.NopAction() ] ) @@ -106,6 +109,7 @@ 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): @@ -116,12 +120,13 @@ def NopAction(env, target, source): 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' ], )