content_view.cc
controls.cc
closed_captions_dialog.cc
+ credentials_download_certificate_panel.cc
dcp_panel.cc
dcpomatic_button.cc
email_dialog.cc
full_config_dialog.cc
gain_calculator_dialog.cc
gdc_certificate_panel.cc
+ gl_video_view.cc
hints_dialog.cc
html_dialog.cc
initial_setup_dialog.cc
playhead_to_frame_dialog.cc
question_dialog.cc
rating_dialog.cc
+ qube_certificate_panel.cc
recreate_chain_dialog.cc
repeat_dialog.cc
report_problem_dialog.cc
send_i18n_dialog.cc
server_dialog.cc
servers_list_dialog.cc
+ simple_video_view.cc
standard_controls.cc
static_text.cc
subtitle_appearance_dialog.cc
+ suspender.cc
system_font_dialog.cc
+ system_information_dialog.cc
table_dialog.cc
templates_dialog.cc
text_panel.cc
text_view.cc
time_picker.cc
+ timer_display.cc
timecode.cc
timeline.cc
timeline_atmos_content_view.cc
update_dialog.cc
verify_dcp_dialog.cc
video_panel.cc
+ video_view.cc
video_waveform_dialog.cc
video_waveform_plot.cc
wx_util.cc
conf.check_cfg(msg='Checking for wxWidgets using gtk2-unicode-3.0',
package='',
path=wx_config,
- args='--cppflags --cxxflags --libs %s' % wx_libs,
+ args='--cppflags --cxxflags --libs %s --gl-libs' % wx_libs,
uselib_store='WXWIDGETS',
mandatory=True)
except:
conf.check_cfg(msg='Checking for wxWidgets using wx-config-3.0-gtk2',
package='',
path=wx_config,
- args='--cppflags --cxxflags --libs %s' % wx_libs,
+ args='--cppflags --cxxflags --libs %s --gl-libs' % wx_libs,
uselib_store='WXWIDGETS',
mandatory=True)
except:
conf.check_cfg(msg='Checking for wxWidgets using wx-config',
package='',
path=wx_config,
- args='--cppflags --cxxflags --libs %s' % wx_libs,
+ args='--cppflags --cxxflags --libs %s --gl-libs' % wx_libs,
uselib_store='WXWIDGETS',
mandatory=True)
+ if conf.env.TARGET_LINUX:
+ conf.env.append_value('CXXFLAGS', ['-DGLX_GLXEXT_PROTOTYPES'])
+ if conf.env.TARGET_WINDOWS:
+ conf.env.append_value('CXXFLAGS', ['-DWGL_WGLEXT_PROTOTYPES'])
+
if conf.options.static_wxwidgets:
# wx-config returns its static libraries as full paths, without -l prefixes, which confuses
# check_cfg(). It puts the static libraries into LINKFLAGS_WXWIDGETS, so fish them out.
define_name='DCPOMATIC_USE_RTERROR',
mandatory=False)
+ if conf.env.TARGET_WINDOWS or conf.env.TARGET_LINUX:
+ conf.check_cfg(package='gl', args='--cflags --libs', uselib_store='GL', mandatory=True)
+ conf.check_cfg(package='glu', args='--cflags --libs', uselib_store='GLU', mandatory=True)
+ else:
+ conf.env.STLIB_GL = 'gl'
+ conf.env.STLIB_GLU = 'glu'
+
+ if conf.env.TARGET_LINUX:
+ conf.check_cxx(fragment="""
+ #include <wx/glcanvas.h>
+ #include <GL/glu.h>
+ #include <GL/glext.h>
+ #include <GL/glxext.h>
+ int main() {
+ glXSwapIntervalEXT (0, 0, 1);
+ return 0;
+ }
+ """,
+ msg='Checking for glXSwapIntervalEXT',
+ okmsg='yes',
+ uselib='GL WXWIDGETS',
+ define_name='DCPOMATIC_HAVE_GLX_SWAP_INTERVAL_EXT',
+ mandatory=False)
def build(bld):
obj.export_includes = ['..']
obj.uselib = 'BOOST_FILESYSTEM BOOST_THREAD BOOST_REGEX WXWIDGETS DCP SUB ZIP CXML RTAUDIO '
if bld.env.TARGET_LINUX:
- obj.uselib += 'GTK '
+ obj.uselib += 'GTK GL GLU '
if bld.env.TARGET_WINDOWS:
- obj.uselib += 'WINSOCK2 OLE32 DSOUND WINMM KSUSER '
+ obj.uselib += 'WINSOCK2 OLE32 DSOUND WINMM KSUSER GL GLU '
if bld.env.TARGET_OSX:
- obj.framework = ['CoreAudio']
+ obj.framework = ['CoreAudio', 'OpenGL']
obj.use = 'libdcpomatic2'
- if bld.env.VARIANT == 'swaroop':
+ if not len(bld.env.VARIANT) == 0 and bld.env.VARIANT.startswith('swaroop-'):
obj.source = sources + " swaroop_controls.cc"
else:
obj.source = sources