summaryrefslogtreecommitdiff
path: root/src/wx/wscript
blob: 1ffaa6097fd276cc3e086c8e3171dc5249a2a041 (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
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
          dci_metadata_dialog.cc
          dir_picker_ctrl.cc
          film_editor.cc
          film_editor_panel.cc
          film_viewer.cc
          filter_dialog.cc
          filter_editor.cc
          gain_calculator_dialog.cc
          hints_dialog.cc
          job_manager_view.cc
          job_wrapper.cc
          kdm_dialog.cc
          new_film_dialog.cc
          preset_colour_conversion_dialog.cc
          properties_dialog.cc
          repeat_dialog.cc
          screen_dialog.cc
          server_dialog.cc
          servers_list_dialog.cc
          subtitle_panel.cc
          timecode.cc
          timeline.cc
          timeline_dialog.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']
 
    conf.in_msg = 1
    wx_version = conf.check_cfg(package='', path=conf.options.wx_config, args='--version').strip()
    conf.im_msg = 0
    if wx_version != '3.0.0':
        conf.fatal('wxwidgets version 3.0.0 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   = 'libdcpomatic-wx'
    obj.export_includes = ['..']
    obj.uselib = 'WXWIDGETS DCP'
    if bld.env.TARGET_LINUX:
        obj.uselib += ' GTK'
    obj.use = 'libdcpomatic'
    obj.source = sources
    obj.target = 'dcpomatic-wx'

    i18n.po_to_mo(os.path.join('src', 'wx'), 'libdcpomatic-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')