2 # Copyright (C) 2012-2020 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/>.
26 analyse_subtitles_job.cc
49 case_insensitive_sorter.cc
51 check_content_change_job.cc
53 cinema_sound_processor.cc
58 copy_dcp_details_to_film.cc
59 cpu_player_video_preparer.cc
72 dcp_subtitle_content.cc
73 dcp_subtitle_decoder.cc
82 decrypted_ecinema_kdm.cc
92 encode_server_finder.cc
94 encrypted_ecinema_kdm.cc
97 examine_content_job.cc
98 examine_ffmpeg_subtitles_job.cc
104 ffmpeg_audio_stream.cc
108 ffmpeg_file_encoder.cc
111 ffmpeg_subtitle_stream.cc
114 ffmpeg_image_proxy.cc
116 frame_interval_checker.cc
124 image_filename_sorter.cc
129 j2k_encoder_cpu_backend.cc
130 j2k_encoder_fastvideo_backend.cc
131 j2k_encoder_remote_backend.cc
157 send_kdm_email_job.cc
158 send_notification_email_job.cc
159 send_problem_report_job.cc
167 string_text_file_content.cc
168 string_text_file_decoder.cc
188 video_filter_graph.cc
191 video_mxf_examiner.cc
192 video_ring_buffers.cc
198 if bld.env.STATIC_DCPOMATIC:
199 obj = bld(features = 'cxx cxxstlib')
201 obj = bld(features = 'cxx cxxshlib')
203 obj.name = 'libdcpomatic2'
204 obj.export_includes = ['..']
206 AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE
207 BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 BOOST_REGEX
208 SAMPLERATE POSTPROC TIFF SSH DCP CXML GLIB LZMA XML++
209 CURL ZIP FONTCONFIG PANGOMM CAIROMM XMLSEC SUB ICU NETTLE PNG LEQM_NRT FASTVIDEO
212 if bld.env.TARGET_OSX:
213 obj.framework = ['IOKit', 'Foundation', 'DiskArbitration', 'ApplicationServices']
215 obj.source = sources + ' version.cc'
217 if bld.env.VARIANT == 'swaroop-theater' or bld.env.VARIANT == 'swaroop-studio':
218 obj.source += ' swaroop_spl.cc swaroop_spl_entry.cc'
220 if bld.env.ENABLE_DISK:
221 obj.source += ' copy_to_drive_job.cc nanomsg.cc'
222 obj.uselib += ' LWEXT4 NANOMSG'
223 if bld.env.TARGET_LINUX:
224 obj.uselib += ' POLKIT'
226 if bld.env.TARGET_WINDOWS:
227 obj.uselib += ' WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE SETUPAPI'
228 obj.source += ' cross_windows.cc'
229 if bld.env.TARGET_OSX:
230 obj.source += ' cross_osx.cc'
231 if bld.env.TARGET_LINUX:
232 obj.source += ' cross_linux.cc'
233 if bld.env.STATIC_DCPOMATIC:
234 obj.uselib += ' XMLPP'
235 if bld.env.ENABLE_FASTVIDEO:
236 obj.source += ' fastvideo_player_video_preparer.cc'
238 obj.target = 'dcpomatic2'
240 i18n.po_to_mo(os.path.join('src', 'lib'), 'libdcpomatic2', bld)
243 i18n.pot(os.path.join('src', 'lib'), sources + " util.h", 'libdcpomatic')
246 i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')