dd2ee9587bbfe91160de39ebb41ef9aa58205237
[ardour.git] / libs / widgets / wscript
1 #!/usr/bin/env python
2 from waflib.extras import autowaf as autowaf
3 from waflib import Options
4 from waflib import TaskGen
5 import os
6
7 # Version of this package (even if built as a child)
8 MAJOR = '0'
9 MINOR = '0'
10 MICRO = '0'
11 WIDGETS_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO)
12
13 # Library version (UNIX style major, minor, micro)
14 # major increment <=> incompatible changes
15 # minor increment <=> compatible changes (additions)
16 # micro increment <=> no interface changes
17 WIDGETS_LIB_VERSION = '0.0.0'
18
19 # Variables for 'waf dist'
20 APPNAME = 'widgets'
21 VERSION = WIDGETS_VERSION
22 I18N_PACKAGE = 'libwidgets'
23
24 # Mandatory variables
25 top = '.'
26 out = 'build'
27
28 widgets_sources = [
29         'ardour_button.cc',
30         'ardour_display.cc',
31         'ardour_dropdown.cc',
32         'ardour_fader.cc',
33         'ardour_knob.cc',
34         'ardour_spacer.cc',
35         'ardour_spinner.cc',
36         'auto_spin.cc',
37         'barcontroller.cc',
38         'click_box.cc',
39         'fastmeter.cc',
40         'focus_entry.cc',
41         'searchbar.cc',
42         'slider_controller.cc',
43         'tooltips.cc',
44         'ui_config.cc',
45 ]
46
47 def options(opt):
48     autowaf.set_options(opt)
49
50 def configure(conf):
51     conf.load ('compiler_cxx')
52     autowaf.configure(conf)
53     autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4')
54
55 def build(bld):
56     # Library
57     if bld.is_defined ('INTERNAL_SHARED_LIBS'):
58         obj = bld.shlib(features = 'cxx cxxshlib', source=widgets_sources)
59         obj.defines      = [ 'LIBWIDGETS_DLL_EXPORTS=1' ]
60     else:
61         obj = bld.stlib(features = 'cxx cxxstlib', source=widgets_sources)
62         obj.cxxflags     = [ '-fPIC' ]
63         obj.cflags       = [ '-fPIC' ]
64         obj.defines      = [ ]
65
66     obj.export_includes = ['.']
67     obj.includes     = ['.']
68     obj.uselib       = 'SIGCPP CAIROMM GTKMM BOOST XML'
69     obj.use          = [ 'libpbd', 'libcanvas', 'libgtkmm2ext' ]
70     obj.name         = 'libwidgets'
71     obj.target       = 'widgets'
72     obj.vnum         = WIDGETS_LIB_VERSION
73     obj.install_path = bld.env['LIBDIR']
74     obj.defines      += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
75
76 def shutdown():
77     autowaf.shutdown()
78