def configure(conf):
boost_test_suffix=''
- if conf.env.TARGET_WINDOWS:
- boost_test_suffix='-mt'
+ if conf.env.TARGET_WINDOWS_64:
+ boost_test_suffix='-mt-x64'
+ elif conf.env.TARGET_WINDOWS_32:
+ boost_test_suffix='-mt-x32'
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 <boost/test/unit_test.hpp>\n
+ #include <boost/test/unit_test.hpp>\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 += 'AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE SWRESAMPLE POSTPROC CXML SUB GLIB CURL SSH XMLSEC BOOST_REGEX ICU NETTLE PNG JPEG '
+ obj.uselib += 'LEQM_NRT ZIP '
+ if bld.env.TARGET_WINDOWS_64 or bld.env.TARGET_WINDOWS_32:
obj.uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE '
+ if bld.env.TARGET_LINUX:
+ obj.uselib += 'DL '
obj.use = 'libdcpomatic2'
obj.source = """
4k_test.cc
+ atmos_test.cc
audio_analysis_test.cc
audio_buffers_test.cc
+ audio_content_test.cc
audio_delay_test.cc
audio_filter_test.cc
audio_mapping_test.cc
audio_processor_delay_test.cc
audio_ring_buffers_test.cc
butler_test.cc
+ bv20_test.cc
+ cinema_sound_processor_test.cc
client_server_test.cc
closed_caption_test.cc
+ collator_test.cc
colour_conversion_test.cc
config_test.cc
content_test.cc
+ cpl_hash_test.cc
+ create_cli_test.cc
crypto_test.cc
dcpomatic_time_test.cc
+ dcp_decoder_test.cc
+ dcp_digest_file_test.cc
+ dcp_metadata_test.cc
dcp_playback_test.cc
dcp_subtitle_test.cc
digest_test.cc
+ empty_caption_test.cc
empty_test.cc
+ encryption_test.cc
+ file_extension_test.cc
ffmpeg_audio_only_test.cc
ffmpeg_audio_test.cc
ffmpeg_dcp_test.cc
+ ffmpeg_decoder_error_test.cc
ffmpeg_decoder_seek_test.cc
ffmpeg_decoder_sequential_test.cc
ffmpeg_encoder_test.cc
ffmpeg_examiner_test.cc
+ ffmpeg_properties_test.cc
ffmpeg_pts_offset_test.cc
file_group_test.cc
file_log_test.cc
file_naming_test.cc
film_metadata_test.cc
+ find_missing_test.cc
+ frame_interval_checker_test.cc
frame_rate_test.cc
+ guess_crop_test.cc
+ hints_test.cc
image_content_fade_test.cc
image_filename_sorter_test.cc
image_test.cc
+ image_proxy_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
+ job_manager_test.cc
+ kdm_cli_test.cc
+ kdm_naming_test.cc
+ kdm_util_test.cc
+ low_bitrate_test.cc
+ markers_test.cc
+ mca_subdescriptors_test.cc
+ no_use_video_test.cc
optimise_stills_test.cc
+ overlap_video_test.cc
pixel_formats_test.cc
player_test.cc
+ pulldown_detect_test.cc
ratio_test.cc
+ release_notes_test.cc
repeat_frame_test.cc
recover_test.cc
rect_test.cc
reels_test.cc
+ reel_writer_test.cc
required_disk_space_test.cc
remake_id_test.cc
remake_with_subtitle_test.cc
render_subtitles_test.cc
scaling_test.cc
+ scope_guard_test.cc
+ scoped_temporary_test.cc
silence_padding_test.cc
shuffler_test.cc
skip_frame_test.cc
+ socket_test.cc
srt_subtitle_test.cc
ssa_subtitle_test.cc
stream_test.cc
subtitle_charset_test.cc
+ subtitle_font_id_test.cc
+ subtitle_font_id_change_test.cc
+ subtitle_language_test.cc
+ subtitle_metadata_test.cc
+ subtitle_position_test.cc
+ subtitle_reel_test.cc
subtitle_reel_number_test.cc
+ subtitle_timing_test.cc
subtitle_trim_test.cc
+ template_test.cc
test.cc
+ text_decoder_test.cc
threed_test.cc
time_calculation_test.cc
torture_test.cc
util_test.cc
vf_test.cc
video_content_scale_test.cc
+ video_level_test.cc
video_mxf_content_test.cc
vf_kdm_test.cc
+ writer_test.cc
+ zipper_test.cc
"""
+ if bld.env.TARGET_LINUX and bld.env.ENABLE_DISK:
+ obj.source += " disk_writer_test.cc"
+ obj.uselib += "LWEXT4 NANOMSG "
+
# Some difference in font rendering between the test machine and others...
# burnt_subtitle_test.cc
# This one doesn't check anything