Initial work on removing storage of subtitle times.
[dcpomatic.git] / src / wx / wscript
index 2198a401aaed6ea9937c998b1b1d4e12170f148b..87fb27610f31a96597d6c89cebfe1a98cf39d3cc 100644 (file)
@@ -1,19 +1,20 @@
 #
 #    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
 #
-#    This program is free software; you can redistribute it and/or modify
+#    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.
 #
-#    This program is distributed in the hope that it will be useful,
+#    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 this program; if not, write to the Free Software
-#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#    along with DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
 #
 
 import os
@@ -30,9 +31,11 @@ sources = """
           audio_mapping_view.cc
           audio_panel.cc
           audio_plot.cc
+          batch_job_view.cc
           cinema_dialog.cc
           colour_conversion_editor.cc
           config_dialog.cc
+          confirm_kdm_email_dialog.cc
           content_colour_conversion_dialog.cc
           content_menu.cc
           content_panel.cc
@@ -64,10 +67,17 @@ sources = """
           kdm_timing_panel.cc
           key_dialog.cc
           make_chain_dialog.cc
+          move_to_dialog.cc
+          name_format_editor.cc
           new_film_dialog.cc
-          preset_colour_conversion_dialog.cc
+          normal_job_view.cc
+          playhead_to_timecode_dialog.cc
+          playhead_to_frame_dialog.cc
           repeat_dialog.cc
           report_problem_dialog.cc
+          rename_template_dialog.cc
+          rgba_colour_picker.cc
+          save_template_dialog.cc
           screen_dialog.cc
           screens_panel.cc
           self_dkdm_dialog.cc
@@ -78,8 +88,11 @@ sources = """
           subtitle_view.cc
           system_font_dialog.cc
           table_dialog.cc
+          templates_dialog.cc
+          time_picker.cc
           timecode.cc
           timeline.cc
+          timeline_atmos_content_view.cc
           timeline_content_view.cc
           timeline_dialog.cc
           timeline_audio_content_view.cc
@@ -141,19 +154,60 @@ def configure(conf):
     if not wx_version.startswith('3.0.'):
         conf.fatal('wxwidgets version 3.0.x is required; %s found' % wx_version)
 
+    try:
+        conf.check_cfg(msg='Checking for RtAudio using pkg-config',
+                       package='rtaudio',
+                       args='--cflags --libs',
+                       uselib_store='RTAUDIO',
+                       mandatory=True)
+    except:
+        conf.check_cfg(msg='Checking for RtAudio headers using rtaudio-config',
+                       package='',
+                       path='rtaudio-config',
+                       args='--cppflags',
+                       uselib_store='RTAUDIO',
+                       mandatory=True)
+
+        conf.check_cfg(msg='Checking for RtAudio libraries using rtaudio-config',
+                       package='',
+                       path='rtaudio-config',
+                       args='--libs',
+                       uselib_store='RTAUDIO',
+                       mandatory=True)
+
+    # Some rtaudio-configs don't include rtaudio as a link library.  Go figure.
+    conf.env.LIB_RTAUDIO.append('rtaudio')
+    # Don't explicitly link with pthread on Windows
+    if conf.env.TARGET_WINDOWS:
+        conf.env.CFLAGS_RTAUDIO.remove('-pthread')
+        conf.env.LINKFLAGS_RTAUDIO.remove('-pthread')
+
+    conf.check_cxx(fragment="""
+                            #include <RtAudio.h>\n
+                            int main() { throw RtError("Hello"); }
+                           """,
+                   msg='Checking for RtError class',
+                   libpath='/usr/local/lib',
+                   lib=['rtaudio'],
+                   uselib_store='',
+                   define_name='DCPOMATIC_USE_RTERROR',
+                   mandatory=False)
+
+
+
 def build(bld):
     if bld.env.STATIC_DCPOMATIC:
-        obj = bld(features = 'cxx cxxstlib')
+        obj = bld(features='cxx cxxstlib')
     else:
-        obj = bld(features = 'cxx cxxshlib')
+        obj = bld(features='cxx cxxshlib')
 
     obj.name   = 'libdcpomatic2-wx'
     obj.export_includes = ['..']
-    obj.uselib = 'BOOST_FILESYSTEM BOOST_THREAD BOOST_REGEX WXWIDGETS DCP SUB ZIP '
+    obj.uselib = 'BOOST_FILESYSTEM BOOST_THREAD BOOST_REGEX WXWIDGETS DCP SUB ZIP CXML RTAUDIO '
     if bld.env.TARGET_LINUX:
         obj.uselib += 'GTK '
     if bld.env.TARGET_WINDOWS:
-        obj.uselib += 'WINSOCK2 '
+        obj.uselib += 'WINSOCK2 OLE32 DSOUND WINMM KSUSER '
     obj.use = 'libdcpomatic2'
     obj.source = sources
     obj.target = 'dcpomatic2-wx'
@@ -161,7 +215,7 @@ def build(bld):
     i18n.po_to_mo(os.path.join('src', 'wx'), 'libdcpomatic2-wx', bld)
 
 def pot(bld):
-    i18n.pot(os.path.join('src', 'wx'), sources + " editable_list.h", 'libdcpomatic-wx')
+    i18n.pot(os.path.join('src', 'wx'), sources + " editable_list.h content_widget.h", 'libdcpomatic-wx')
 
 def pot_merge(bld):
     i18n.pot_merge(os.path.join('src', 'wx'), 'libdcpomatic-wx')