# files needed explicitly.
#
# This works by building a list of all children (recursively) of the
-# test sources. For each child we check, wether a file with the same
+# test sources. For each child we check, whether a file with the same
# name but an $OBJSUFFIX extension exists as a build target. In that
# case, we add it to the list of needed objects (AND recursively scan
# that objects children).
env['BUILDERS']['RealBoostUnitTest'] = env['BUILDERS']['BoostUnitTest']
env['BUILDERS']['BoostUnitTest'] = AutoObjectBoostUnitTest
env['_UNIT_TEST_LIST'] = []
+ env.Append(EXTRA_LIBS = [ '$BOOSTREGEXLIB', '$BOOSTSIGNALSLIB',
+ '$BOOSTFSLIB', '$BOOSTSYSTEMLIB', '$BOOSTDATETIMELIB' ])
# This needs to be called after all build targets have been set
# up. This is important since the list of object targets needs to be
# complete.
-def build(env, accept_unknown_tests=False):
+def build(env, accept_unknown_tests=False, verbose=False):
env = env.Clone(LIBS = [ '$EXTRA_LIBS' ])
if env.has_key("only_tests"):
only_tests = {}
env.RealBoostUnitTest(target, objects, **kw)
+ if verbose and only_tests and not env.GetOption('no_progress'):
+ SCons.Util.display("scons: building tests: " + ", ".join("`%s'" % str(k)
+ for k,v in only_tests.iteritems()
+ if v))
if not accept_unknown_tests:
only_tests = [ k for k,v in only_tests.iteritems() if not v ]
if only_tests:
def findSCMChanges(env):
def scmchanges(dir):
- if os.popen("cd %s; svnversion" % dir.abspath).read().strip() == "exported":
+ if os.popen("cd %s; svnversion" % dir.abspath).read().strip() in ("","exported"):
return [ dir.Entry(x)
for x in os.popen("cd %s; git ls-files --modified"
% dir.abspath).read().strip().split("\n") ]