stampnode = target.dir.File('.' + target.name + '.stamp')
bin = env.Program(binnode, source,
- LIBS = env['LIBS'] + [ '$TEST_EXTRA_LIBS' ],
+ LIBS = env['LIBS'] + kw.pop('TEST_EXTRA_LIBS', ['$TEST_EXTRA_LIBS']),
_LIBFLAGS = ' -Wl,-Bstatic -l$BOOSTTESTLIB -Wl,-Bdynamic ' + env['_LIBFLAGS'],
**kw)
else:
msg = ''
context.Message( "Checking boost version%s... " % msg )
- ret = context.TryRun("#include <boost/version.hpp>\n"
- "#include <iostream>\n"
- "int main(int, char **) { std::cout << BOOST_LIB_VERSION << std::endl; }",
- ".cc")[-1].strip()
+ if context.env.has_key('BOOST_VERSION'):
+ ret = context.env['BOOST_VERSION']
+ else:
+ ret = context.TryRun("#include <boost/version.hpp>\n"
+ "#include <iostream>\n"
+ "int main(int, char **)\n"
+ "{ std::cout << BOOST_LIB_VERSION << std::endl; }",
+ ".cc")[-1].strip()
if not ret:
msg = "no boost includes found"
print "Using %s boost variant." % (
useVariant and "'%s'" % useVariant or "default")
context.env.Replace( BOOST_VARIANT = useVariant )
+ context.env.Append( HAS_BOOST_SYSTEM = context.sconf.CheckLib('boost_system', language='c++', autoadd=False))
return useVariant
+
def generate(env):
env.SetDefault(
BOOST_VARIANT = None,
BOOSTFSLIB = 'boost_filesystem$_BOOST_VARIANT',
BOOSTIOSTREAMSLIB = 'boost_iostreams$_BOOST_VARIANT',
BOOSTSIGNALSLIB = 'boost_signals$_BOOST_VARIANT',
+
+ _BOOSTSYSTEMLIB = '${HAS_BOOST_SYSTEM and "boost_system" or ""}',
+ BOOSTSYSTEMLIB = '$_BOOSTSYSTEMLIB',
BOOSTTESTARGS = [ '--build_info=yes', '--log_level=test_suite' ],
)