2 # Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
4 # This file is part of DCP-o-matic.
6 # DCP-o-matic is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # DCP-o-matic is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
22 if conf.env.TARGET_WINDOWS_64:
23 boost_test_suffix='-mt-x64'
24 elif conf.env.TARGET_WINDOWS_32:
25 boost_test_suffix='-mt-x32'
27 conf.check_cfg(package='sndfile', args='--cflags --libs', uselib_store='SNDFILE', mandatory=True)
29 conf.check_cxx(fragment="""
30 #define BOOST_TEST_MODULE Config test\n
31 #include <boost/test/unit_test.hpp>\n
33 """, msg = 'Checking for boost unit testing library', lib = 'boost_unit_test_framework%s' % boost_test_suffix, uselib_store = 'BOOST_TEST')
36 obj = bld(features='cxx cxxprogram')
37 obj.name = 'unit-tests'
38 obj.uselib = 'BOOST_TEST BOOST_THREAD BOOST_FILESYSTEM BOOST_DATETIME SNDFILE SAMPLERATE DCP FONTCONFIG CAIROMM PANGOMM XMLPP '
39 obj.uselib += 'AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE SWRESAMPLE POSTPROC CXML SUB GLIB CURL SSH XMLSEC BOOST_REGEX ICU NETTLE PNG JPEG '
40 obj.uselib += 'LEQM_NRT ZIP '
41 if bld.env.TARGET_WINDOWS_64 or bld.env.TARGET_WINDOWS_32:
42 obj.uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE '
43 if bld.env.TARGET_LINUX:
45 obj.use = 'libdcpomatic2'
47 2536_regression_test.cc
50 audio_analysis_test.cc
57 audio_processor_test.cc
58 audio_processor_delay_test.cc
59 audio_ring_buffers_test.cc
60 burnt_subtitle_test.cc
63 cinema_sound_processor_test.cc
65 closed_caption_test.cc
67 colour_conversion_test.cc
73 dcpomatic_time_test.cc
75 dcp_digest_file_test.cc
83 file_extension_test.cc
84 ffmpeg_audio_only_test.cc
87 ffmpeg_decoder_error_test.cc
88 ffmpeg_decoder_seek_test.cc
89 ffmpeg_decoder_sequential_test.cc
90 ffmpeg_encoder_test.cc
91 ffmpeg_examiner_test.cc
92 ffmpeg_properties_test.cc
93 ffmpeg_pts_offset_test.cc
100 font_comparator_test.cc
101 font_id_allocator_test.cc
102 frame_interval_checker_test.cc
106 image_content_fade_test.cc
107 image_filename_sorter_test.cc
111 interrupt_encoder_test.cc
113 j2k_bandwidth_test.cc
121 mca_subdescriptors_test.cc
123 optimise_stills_test.cc
124 overlap_video_test.cc
125 pixel_formats_test.cc
128 pulldown_detect_test.cc
130 release_notes_test.cc
136 required_disk_space_test.cc
138 remake_with_subtitle_test.cc
139 render_subtitles_test.cc
142 scoped_temporary_test.cc
143 silence_padding_test.cc
150 subtitle_charset_test.cc
151 subtitle_font_id_test.cc
152 subtitle_font_id_change_test.cc
153 subtitle_language_test.cc
154 subtitle_metadata_test.cc
155 subtitle_position_test.cc
156 subtitle_reel_test.cc
157 subtitle_reel_number_test.cc
158 subtitle_timing_test.cc
159 subtitle_trim_test.cc
164 time_calculation_test.cc
166 update_checker_test.cc
170 video_content_scale_test.cc
172 video_mxf_content_test.cc
178 if bld.env.TARGET_LINUX and bld.env.ENABLE_DISK:
179 obj.source += " disk_writer_test.cc"
180 obj.uselib += "LWEXT4 NANOMSG "
182 # This one doesn't check anything
185 obj.target = 'unit-tests'
186 obj.install_path = ''