X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fwscript;h=efd551b9adcffd432726fa4975c49d012b527226;hb=1b6f847eddca54ed223b22858c19c987aa61c2df;hp=7e7122b178481d18fade0725bca64eb244409725;hpb=2f0e6ee9d883abbbc31aca0d1cc80e89eb9b0af2;p=libdcp.git diff --git a/test/wscript b/test/wscript index 7e7122b1..efd551b9 100644 --- a/test/wscript +++ b/test/wscript @@ -1,3 +1,36 @@ +# +# Copyright (C) 2012-2019 Carl Hetherington +# +# This file is part of libdcp. +# +# libdcp 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. +# +# libdcp 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 libdcp. If not, see . +# +# In addition, as a special exception, the copyright holders give +# permission to link the code of portions of this program with the +# OpenSSL library under certain conditions as described in each +# individual source file, and distribute linked combinations +# including the two. +# +# You must obey the GNU General Public License in all respects +# for all of the code used other than OpenSSL. If you modify +# file(s) with this exception, you may extend this exception to your +# version of the file(s), but you are not obligated to do so. If you +# do not wish to do so, delete this exception statement from your +# version. If you delete this exception statement from all source +# files in the program, then also delete it here. +# + def configure(conf): if conf.options.target_windows: boost_lib_suffix = '-mt' @@ -6,53 +39,105 @@ def configure(conf): conf.check_cxx(fragment=""" #define BOOST_TEST_MODULE Config test\n - #include \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') + 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 OPENJPEG CXML XMLSEC1 SNDFILE' - obj.use = 'libdcp%s' % bld.env.API_VERSION + obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM BOOST_DATETIME OPENJPEG CXML XMLSEC1 SNDFILE OPENMP ASDCPLIB_CTH LIBXML++ OPENSSL XERCES' + 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 + atmos_test.cc certificates_test.cc - color_test.cc + colour_test.cc + colour_conversion_test.cc cpl_sar_test.cc + cpl_ratings_test.cc + dcp_font_test.cc dcp_test.cc dcp_time_test.cc decryption_test.cc + effect_test.cc encryption_test.cc - frame_info_test.cc + exception_test.cc + fraction_test.cc + frame_info_hash_test.cc + gamma_transfer_function_test.cc + interop_load_font_test.cc local_time_test.cc + make_digest_test.cc + markers_test.cc kdm_test.cc + key_test.cc + raw_convert_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 - subtitle_tests.cc - test.cc + smpte_load_font_test.cc + smpte_subtitle_test.cc + sound_frame_test.cc + test.cc util_test.cc + utf8_test.cc + write_subtitle_test.cc + verify_test.cc """ obj.target = 'tests' obj.install_path = '' obj = bld(features='cxx cxxprogram') obj.name = 'subs_in_out' - obj.uselib = 'BOOST_TEST OPENJPEG CXML' - obj.use = 'libdcp%s' % bld.env.API_VERSION + obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL' + 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 OPENJPEG CXML' - obj.use = 'libdcp%s' % bld.env.API_VERSION + obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL' + 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 ASDCPLIB_CTH XMLSEC1 OPENSSL LIBXML++' + obj.use = 'libdcp%s' % bld.env.API_VERSION + obj.source = 'bench.cc' + obj.target = 'bench' + obj.install_path = ''