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

"""
Copyright (c) 2014-2017,  The University of Memphis
                          Regents of the University of California

This file is part of NLSR (Named-data Link State Routing).
See AUTHORS.md for complete list of NLSR authors and contributors.

NLSR is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
NLSR, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
"""

top = '..'

def build(bld):
    if not bld.env['WITH_TESTS']:
        return

    bld(
        features='cxx',
        name='unit-tests-main',
        target='unit-tests-main',
        source='main.cpp',
        defines=['BOOST_TEST_MODULE=NLSR Unit Tests'],
        use='nlsr-objects'
    )

    bld.program(
        target='../unit-tests-nlsr',
        features='cxx cxxprogram',
        source=bld.path.ant_glob(['**/*.cpp'], excl=['main.cpp']),
        use='nlsr-objects unit-tests-main',
        install_path=None,
        # defines='TEST_CONFIG_PATH=\"%s/conf-test\"' %(bld.bldnode)
    )
