Basics of DCP import.
[dcpomatic.git] / src / lib / wscript
1 import os
2 import i18n
3
4 sources = """
5           analyse_audio_job.cc
6           audio_analysis.cc
7           audio_buffers.cc
8           audio_content.cc
9           audio_decoder.cc
10           audio_mapping.cc
11           cinema.cc
12           colour_conversion.cc
13           config.cc
14           content.cc
15           content_factory.cc
16           content_subtitle.cc
17           cross.cc
18           dcp_content.cc
19           dcp_content_type.cc
20           dcp_decoder.cc
21           dcp_examiner.cc
22           dcp_video.cc
23           dcpomatic_time.cc
24           dolby_cp750.cc
25           encoder.cc
26           encoded_data.cc
27           examine_content_job.cc
28           exceptions.cc
29           file_group.cc
30           filter_graph.cc
31           ffmpeg.cc
32           ffmpeg_audio_stream.cc
33           ffmpeg_content.cc
34           ffmpeg_decoder.cc
35           ffmpeg_examiner.cc
36           ffmpeg_stream.cc
37           ffmpeg_subtitle_stream.cc
38           film.cc
39           filter.cc
40           frame_rate_change.cc
41           internet.cc
42           image.cc
43           image_content.cc
44           image_decoder.cc
45           image_examiner.cc
46           image_proxy.cc
47           isdcf_metadata.cc
48           job.cc
49           job_manager.cc
50           kdm.cc
51           json_server.cc
52           log.cc
53           md5_digester.cc
54           player.cc
55           player_video.cc
56           playlist.cc
57           ratio.cc
58           render_subtitles.cc
59           resampler.cc
60           scp_dcp_job.cc
61           scaler.cc
62           send_kdm_email_job.cc
63           server.cc
64           server_finder.cc
65           single_stream_audio_content.cc
66           sndfile_content.cc
67           sndfile_decoder.cc
68           sound_processor.cc
69           subrip.cc
70           subrip_content.cc
71           subrip_decoder.cc
72           subtitle_content.cc
73           subtitle_decoder.cc
74           timer.cc
75           transcode_job.cc
76           transcoder.cc
77           types.cc
78           ui_signaller.cc
79           update.cc
80           util.cc
81           video_content.cc
82           video_decoder.cc
83           writer.cc
84           """
85
86 def build(bld):
87     if bld.env.BUILD_STATIC:
88         obj = bld(features = 'cxx cxxstlib')
89     else:
90         obj = bld(features = 'cxx cxxshlib')
91
92     obj.name = 'libdcpomatic'
93     obj.export_includes = ['..']
94     obj.uselib = """
95                  AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE SWRESAMPLE 
96                  BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2
97                  SNDFILE OPENJPEG POSTPROC TIFF MAGICK SSH DCP CXML GLIB LZMA XML++
98                  CURL ZIP QUICKMAIL PANGOMM CAIROMM
99                  """
100
101     if bld.env.TARGET_OSX:
102         obj.framework = ['IOKit', 'Foundation']
103
104     obj.source = sources + ' version.cc'
105
106     if bld.env.TARGET_WINDOWS:
107         obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK BOOST_LOCALE'
108         obj.source += ' stack.cpp'
109     if bld.env.BUILD_STATIC:
110         obj.uselib += ' XML++'
111
112     obj.target = 'dcpomatic'
113
114     i18n.po_to_mo(os.path.join('src', 'lib'), 'libdcpomatic', bld)
115
116 def pot(bld):
117     i18n.pot(os.path.join('src', 'lib'), sources, 'libdcpomatic')
118
119 def pot_merge(bld):
120     i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')