# # Copyright (C) 2012-2016 Carl Hetherington # # This file is part of DCP-o-matic. # # DCP-o-matic 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. # # DCP-o-matic 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 DCP-o-matic. If not, see . # def configure(conf): boost_test_suffix='' if conf.env.TARGET_WINDOWS: boost_test_suffix='-mt' conf.check_cfg(package='sndfile', args='--cflags --libs', uselib_store='SNDFILE', mandatory=True) 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_test_suffix, uselib_store = 'BOOST_TEST') conf.check_cfg(package='ImageMagick++', args='--cflags --libs', uselib_store='MAGICK', mandatory=True) def build(bld): obj = bld(features='cxx cxxprogram') obj.name = 'unit-tests' obj.uselib = 'BOOST_TEST BOOST_THREAD BOOST_FILESYSTEM BOOST_DATETIME SNDFILE SAMPLERATE DCP FONTCONFIG CAIROMM PANGOMM XMLPP ' obj.uselib += 'AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE SWRESAMPLE POSTPROC CXML SUB GLIB CURL SSH XMLSEC BOOST_REGEX ICU NETTLE MAGICK PNG ' if bld.env.TARGET_WINDOWS: obj.uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE ' obj.use = 'libdcpomatic2' obj.source = """ 4k_test.cc audio_analysis_test.cc audio_buffers_test.cc audio_delay_test.cc audio_filter_test.cc audio_mapping_test.cc audio_merger_test.cc audio_processor_test.cc audio_processor_delay_test.cc audio_ring_buffers_test.cc butler_test.cc client_server_test.cc closed_caption_test.cc colour_conversion_test.cc config_test.cc content_test.cc dcpomatic_time_test.cc dcp_playback_test.cc dcp_subtitle_test.cc digest_test.cc empty_test.cc ffmpeg_audio_only_test.cc ffmpeg_audio_test.cc ffmpeg_dcp_test.cc ffmpeg_decoder_seek_test.cc ffmpeg_decoder_sequential_test.cc ffmpeg_encoder_test.cc ffmpeg_examiner_test.cc ffmpeg_pts_offset_test.cc file_group_test.cc file_log_test.cc file_naming_test.cc film_metadata_test.cc frame_rate_test.cc image_filename_sorter_test.cc image_test.cc import_dcp_test.cc interrupt_encoder_test.cc isdcf_name_test.cc j2k_bandwidth_test.cc job_test.cc make_black_test.cc optimise_stills_test.cc pixel_formats_test.cc player_test.cc ratio_test.cc repeat_frame_test.cc recover_test.cc rect_test.cc reels_test.cc required_disk_space_test.cc remake_id_test.cc remake_with_subtitle_test.cc render_subtitles_test.cc scaling_test.cc silence_padding_test.cc shuffler_test.cc skip_frame_test.cc srt_subtitle_test.cc ssa_subtitle_test.cc stream_test.cc subtitle_charset_test.cc subtitle_reel_number_test.cc subtitle_trim_test.cc test.cc threed_test.cc time_calculation_test.cc torture_test.cc update_checker_test.cc upmixer_a_test.cc util_test.cc vf_test.cc video_content_scale_test.cc video_mxf_content_test.cc vf_kdm_test.cc """ # Some difference in font rendering between the test machine and others... # burnt_subtitle_test.cc # This one doesn't check anything # resampler_test.cc obj.target = 'unit-tests' obj.install_path = ''