"Dia2Png",
"CopyToDir",
"InstallIncludes",
+ "ProgramNoScan",
]
opts = None
# libraries are provided by the distribution, you probably don't need
# to specify any parameters. If your configuration is more complex,
# refer to the <a
-# href="http://www.boost.org/tools/build/v1/build_system.htm">Boost.Build</a>
+# href="http://www.boost.org/tools/build/v2/index.html">Boost.Build</a>
# documentation for a definition of the terms used above (toolset,
# variant, runtime ...).
#
if runtime: runtime = "-" + runtime
env['BOOST_VARIANT'] = "-" + env['BOOST_TOOLSET'] + runtime
- env['BOOSTTESTLIB'] = 'libboost_unit_test_framework' + env['BOOST_VARIANT']
- env['BOOSTREGEXLIB'] = 'libboost_regex' + env['BOOST_VARIANT']
+ env['BOOSTTESTLIB'] = 'boost_unit_test_framework' + env['BOOST_VARIANT']
+ env['BOOSTREGEXLIB'] = 'boost_regex' + env['BOOST_VARIANT']
+ env['BOOSTFSLIB'] = 'boost_filesystem' + env['BOOST_VARIANT']
env.Append(LIBPATH = [ '$BOOST_LIBDIR' ],
CPPPATH = [ '$BOOST_INCLUDES' ])
#
# \ingroup target
def GlobalTargets(env):
- env.Depends(env.Alias('all'),'#')
+ env.Alias('all', [ 'default', 'all_tests', 'all_docs' ])
## \brief Return path of a built library within $LOCALLIBDIR
# \internal
objects = None
if sources:
- objects = env.Object([
- source
- for source in sources
- if not str(source).endswith('.o') ]) + [
- source
- for source in sources
- if str(source).endswith('.o') ]
-
+ obsources = [ source
+ for source in sources
+ if not str(source).endswith('.o') ]
+ objects = [ source
+ for source in sources
+ if str(source).endswith('.o') ]
+ if obsources:
+ objects += env.Object(obsources)
if testSources:
test = env.BoostUnitTests(
return objects
def InstallIncludeFiles(env, files):
+ # Hrmpf ... why do I need this in 0.97??
+ if env.GetOption('clean'):
+ return
target = env.Dir(env['INCLUDEINSTALLDIR'])
base = env.Dir(env['INSTALL_BASE'])
for f in files:
if type(testSources) is not type([]):
testSources = [ testSources ]
- installs = []
- installs.append( env.Install(dir, targets) )
+ installs = [ env.Install(dir, targets) ]
if not no_includes:
target = env.Dir(env['INCLUDEINSTALLDIR']).Dir(
l = len(env.Dir('#').abspath)
if htmlnode:
env.Alias('install_all',
- env.Install( '$DOCINSTALLDIR' + htmlnode.dir.dir.abspath[l:],
- htmlnode.dir ))
+ env.Command('$DOCINSTALLDIR' + htmlnode.dir.abspath[l:], htmlnode.dir,
+ [ SCons.Defaults.Copy('$TARGET','$SOURCE') ]))
if tagnode:
env.Alias('install_all',
env.Install( '$DOCINSTALLDIR' + tagnode.dir.abspath[l:],
lib = env.Library(env.File(LibPath(library)),objects)
env.Default(lib)
env.Append(ALLLIBS = library)
+ env.Alias('default', lib)
install = InstallWithSources(env, lib, '$LIBINSTALLDIR', sources, testSources, no_includes)
env.Alias('install_all', install)
return lib
if objects:
ob = env.Command(target+".o", objects, "ld -r -o $TARGET $SOURCES")
env.Default(ob)
+ env.Alias('default', ob)
install = InstallWithSources(env, ob, '$OBJINSTALLDIR', sources, testSources, no_includes)
env.Alias('install_all', install)
return ob
if objects:
progEnv = env.Copy()
progEnv.Prepend(LIBS = LIBS)
- program = progEnv.Program(target=binary,source=objects+OBJECTS)
+ program = progEnv.ProgramNoScan(target=binary,source=objects+OBJECTS)
env.Default(program)
env.Depends(program, [ env.File(LibPath(x)) for x in LIBS ])
+ env.Alias('default', program)
install = InstallWithSources(env, program, '$BININSTALLDIR', sources, testSources,
no_includes)
env.Alias('install_all', install)
def AllIncludesHH(env, headers):
headers.sort()
- file(env.File("all_includes.hh").abspath,"w").write("".join([ '#include "%s"\n' % f
- for f in headers ]))
- env.Clean('all','all_includes.hh')
-
+ target = env.File("all_includes.hh")
+ file(target.abspath,"w").write("".join([ '#include "%s"\n' % f
+ for f in headers ]))
+ env.Clean('all', target)