summaryrefslogtreecommitdiff
path: root/src/wx/wscript
blob: 1b701bb074bec3d1aba88536a0d9be42264c1cab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import os
import glob
from waflib import Logs
import i18n

sources = """
          about_dialog.cc
          audio_dialog.cc
          audio_gain_dialog.cc
          audio_mapping_view.cc
          audio_panel.cc
          audio_plot.cc
          cinema_dialog.cc
          colour_conversion_editor.cc
          config_dialog.cc
          content_colour_conversion_dialog.cc
          content_menu.cc
          content_panel.cc
          content_sub_panel.cc
          dcp_panel.cc
          image_sequence_dialog.cc
          isdcf_metadata_dialog.cc
          dir_picker_ctrl.cc
          dolby_certificate_dialog.cc
          doremi_certificate_dialog.cc
          download_certificate_dialog.cc
          film_editor.cc
          film_viewer.cc
          filter_dialog.cc
          filter_editor.cc
          fonts_dialog.cc
          gain_calculator_dialog.cc
          hints_dialog.cc
          job_manager_view.cc
          kdm_dialog.cc
          key_dialog.cc
          make_signer_chain_dialog.cc
          new_film_dialog.cc
          preset_colour_conversion_dialog.cc
          properties_dialog.cc
          repeat_dialog.cc
          report_problem_dialog.cc
          screen_dialog.cc
          server_dialog.cc
          servers_list_dialog.cc
          subtitle_panel.cc
          subtitle_view.cc
          table_dialog.cc
          timecode.cc
          timeline.cc
          timeline_content_view.cc
          timeline_dialog.cc
          timeline_audio_content_view.cc
          timeline_subtitle_content_view.cc
          timeline_time_axis_view.cc
          timeline_video_content_view.cc
          timeline_view.cc
          timing_panel.cc
          update_dialog.cc
          video_panel.cc
          wx_util.cc
          wx_ui_signaller.cc
          """

def configure(conf):
    args = '--cppflags --cxxflags'
    if not conf.env.BUILD_STATIC:
        args += ' --libs std,richtext'

    conf.check_cfg(msg='Checking for wxWidgets', package='', path=conf.options.wx_config, args=args,
                   uselib_store='WXWIDGETS', mandatory=True)

    if conf.env.BUILD_STATIC:
	# wx-config returns its static libraries as full paths, without -l prefixes, which confuses
        # check_cfg(), so just hard-code it all.
        conf.env.STLIB_WXWIDGETS = ['wx_gtk2u_richtext-3.0', 'wx_gtk2u_xrc-3.0', 'wx_gtk2u_qa-3.0', 'wx_baseu_net-3.0', 'wx_gtk2u_html-3.0',
                                    'wx_gtk2u_adv-3.0', 'wx_gtk2u_core-3.0', 'wx_baseu_xml-3.0', 'wx_baseu-3.0']
        conf.env.LIB_WXWIDGETS = ['tiff', 'SM', 'dl', 'jpeg', 'png', 'X11', 'expat']
        if conf.env.TARGET_DEBIAN and conf.env.DEBIAN_UNSTABLE:
            conf.env.LIB_WXWIDGETS.append('Xext')
            conf.env.LIB_WXWIDGETS.append('X11')

        if conf.env.TARGET_CENTOS_7:
            conf.env.LIB_WXWIDGETS.append('Xxf86vm')
 
    conf.in_msg = 1
    wx_version = conf.check_cfg(package='', path=conf.options.wx_config, args='--version').strip()
    conf.im_msg = 0
    if not wx_version.startswith('3.0.'):
        conf.fatal('wxwidgets version 3.0.x is required; %s found' % wx_version)

def build(bld):
    if bld.env.BUILD_STATIC:
        obj = bld(features = 'cxx cxxstlib')
    else:
        obj = bld(features = 'cxx cxxshlib')

    obj.name   = 'libdcpomatic2-wx'
    obj.export_includes = ['..']
    obj.uselib = 'BOOST_FILESYSTEM BOOST_THREAD WXWIDGETS DCP SUB ZIP '
    if bld.env.TARGET_LINUX:
        obj.uselib += 'GTK '
    if bld.env.TARGET_WINDOWS:
        obj.uselib += 'WINSOCK2 '
    obj.use = 'libdcpomatic2'
    obj.source = sources
    obj.target = 'dcpomatic2-wx'

    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')

def pot_merge(bld):
    i18n.pot_merge(os.path.join('src', 'wx'), 'libdcpomatic-wx')