Mercurial > hg > aimc
view trunk/carfac/SConstruct @ 703:2bd09040ecf0
Better SAI unit tests.
Includes a test to compare the output of the Matlab and C++ version which is currently disabled since the outputs are not identical.
author | ronw@google.com |
---|---|
date | Mon, 01 Jul 2013 19:02:37 +0000 |
parents | bf89b122a683 |
children |
line wrap: on
line source
# CARFAC Open Source C++ Library # # This C++ file is part of an implementation of Lyon's cochlear model: # "Cascade of Asymmetric Resonators with Fast-Acting Compression" # to supplement Lyon's upcoming book "Human and Machine Hearing" # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ## @author Ron Weiss <ronw@google.com> # @date created 2013/05/21 # @version \$Id$ """@package SConstruct SConstruct file for the CARFAC Open Source C++ Library. To install dependencies on Ubuntu, run: sudo apt-get install libeigen3-dev scons \ cmake libgtest-dev # For testing. export EIGEN_PATH=/usr/include/eigen3 export GTEST_SOURCE=/usr/src/gtest To build all libraries, run: scons To run unit tests, run: scons test To clean up binaries, run: scons --clean """ import commands import os env = Environment(CPPPATH=[os.environ['EIGEN_PATH']]) GCC_VERSION = commands.getoutput(env['CXX'] + ' -dumpversion') if GCC_VERSION.startswith('4.6'): env.MergeFlags(['-std=c++0x']) else: env.MergeFlags(['-std=c++11']) carfac_sources = [ 'agc.h', 'car.h', 'carfac.cc', 'carfac_output.cc', 'carfac_util.cc', 'common.h', 'ear.cc', 'ihc.h', 'sai.cc' ] carfac = env.Library(target = 'carfac', source = carfac_sources) Default(carfac) env.Command('tmp/libgtest.a', [], [ Delete('tmp'), Copy('tmp', os.environ['GTEST_SOURCE']), 'cd tmp && cmake . && make', ]) test_targets = [ 'carfac_test', 'sai_test', ] test_programs = [env.Program(target = test_target, source = ['%s.cc' % test_target], LIBS = ['carfac', 'gtest', 'gtest_main', 'pthread'], LIBPATH = ['.', 'tmp']) for test_target in test_targets] run_all_tests = env.Command('test', test_programs, ['./%s' % x for x in test_targets])