# # Copyright (C) 2012-2016 Carl Hetherington # # This program 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 2 of the License, or # (at your option) any later version. # # This program 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 this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # def configure(conf): if conf.options.target_windows: boost_lib_suffix = '-mt' else: boost_lib_suffix = '' conf.check_cxx(fragment=""" #define BOOST_TEST_MODULE Config test\n #include \n int main() {} """, msg='Checking for boost unit testing library', lib='boost_unit_test_framework%s' % boost_lib_suffix, uselib_store='BOOST_TEST') conf.env.prepend_value('LINKFLAGS', '-Lsrc') def build(bld): obj = bld(features='cxx cxxprogram') obj.name = 'tests' obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML XMLSEC1 SNDFILE OPENMP ASDCPLIB_CTH' obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0'] if bld.is_defined('HAVE_GCOV'): obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION obj.lib = ['gcov'] obj.cppflags.append('-ftest-coverage') obj.cppflags.append('-fprofile-arcs') else: obj.use = 'libdcp%s' % bld.env.API_VERSION obj.source = """ asset_test.cc certificates_test.cc colour_test.cc colour_conversion_test.cc cpl_sar_test.cc dcp_font_test.cc dcp_test.cc dcp_time_test.cc decryption_test.cc effect_test.cc encryption_test.cc exception_test.cc fraction_test.cc gamma_transfer_function_test.cc interop_load_font_test.cc local_time_test.cc kdm_test.cc read_dcp_test.cc read_interop_subtitle_test.cc read_smpte_subtitle_test.cc reel_asset_test.cc recovery_test.cc rgb_xyz_test.cc round_trip_test.cc smpte_load_font_test.cc sound_frame_test.cc test.cc text_test.cc util_test.cc write_subtitle_test.cc """ obj.target = 'tests' obj.install_path = '' obj = bld(features='cxx cxxprogram') obj.name = 'subs_in_out' obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP' obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0'] if bld.is_defined('HAVE_GCOV'): obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION obj.lib = ['gcov'] obj.cppflags.append('-ftest-coverage') obj.cppflags.append('-fprofile-arcs') else: obj.use = 'libdcp%s' % bld.env.API_VERSION obj.source = 'subs_in_out.cc' obj.target = 'subs_in_out' obj.install_path = '' obj = bld(features='cxx cxxprogram') obj.name = 'rewrite_subs' obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP' obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0'] if bld.is_defined('HAVE_GCOV'): obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION obj.lib = ['gcov'] obj.cppflags.append('-ftest-coverage') obj.cppflags.append('-fprofile-arcs') else: obj.use = 'libdcp%s' % bld.env.API_VERSION obj.source = 'rewrite_subs.cc' obj.target = 'rewrite_subs' obj.install_path = '' obj = bld(features='cxx cxxprogram') obj.name = 'bench' obj.uselib = 'BOOST_FILESYSTEM OPENJPEG CXML OPENMP' obj.use = 'libdcp%s' % bld.env.API_VERSION obj.source = 'bench.cc' obj.target = 'bench' obj.install_path = ''