## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-

def build(bld):
    # To allow  tests to use features from all enabled modules
    all_modules = [mod[len("ns3-"):] for mod in bld.env['NS3_ENABLED_MODULES']]

    # Unit tests
    tests = bld.create_ns3_program('ndnSIM-unit-tests', all_modules)
    tests.source = bld.path.ant_glob(['main.cpp', 'unit-tests/**/*.cpp'],
                                     excl=['unit-tests/*/**/*.cpp'])
    tests.includes = ['#', '.', '../NFD/', "../NFD/daemon", "../NFD/core", "../helper", "../model", "../apps", "../utils", "../examples"]
    tests.defines = 'TEST_CONFIG_PATH=\"%s/conf-test\"' %(bld.bldnode)

    # # Other tests
    # for i in bld.path.ant_glob(['other/*.cpp']):
    #     name = str(i)[:-len(".cpp")]
    #     obj = bld.create_ns3_program(name, all_modules)
    #     obj.source = [i] + bld.path.ant_glob(['%s/**/*.cpp' % name])
    #     obj.install_path = None
