# -*- mode:python;indent-tabs-mode:nil;show-trailing-whitespace:t; -*-
#
# Main build script for all rosetta++ projects.
# Schedules all the directories which contain build targets of their own.

# Bring in the shared build state
Import("build")

for kind in build.options.cat:
    for project in build.projects:
        # Sources and test are further broken down by platform
        if kind in ("src", "test"):
            build_path = "build/%s/%s" % (kind, build.platform)
        # Documentation is built once regardless of platform
        else:
            build_path = "build/%s" % (kind)
        script = "%s/SConscript.%s" % (kind, kind)
        SConscript(script, exports = ["build", "project"],
                   build_dir = build_path, duplicate = False)

# Don't build testing by default due to Boost dependency:
non_boost = []
for project in build.projects:
    if project != "testing":
        non_boost += [ project ]
Default(non_boost)
