Separate Ardour UI widgets into dedicated library
[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_knob.cc',
33         'ardour_spacer.cc',
34         'ardour_spinner.cc',
35         'tooltips.cc',
36         'ui_config.cc',
37 ]
38
39 def options(opt):
40     autowaf.set_options(opt)
41
42 def configure(conf):
43     conf.load ('compiler_cxx')
44     autowaf.configure(conf)
45     autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4')
46
47 def build(bld):
48     # Library
49     if bld.is_defined ('INTERNAL_SHARED_LIBS'):
50         obj = bld.shlib(features = 'cxx cxxshlib', source=widgets_sources)
51         obj.defines      = [ 'LIBWIDGETS_DLL_EXPORTS=1' ]
52     else:
53         obj = bld.stlib(features = 'cxx cxxstlib', source=widgets_sources)
54         obj.cxxflags     = [ '-fPIC' ]
55         obj.cflags       = [ '-fPIC' ]
56         obj.defines      = [ ]
57
58     obj.export_includes = ['.']
59     obj.includes     = ['.']
60     obj.uselib       = 'SIGCPP CAIROMM GTKMM BOOST XML'
61     obj.use          = [ 'libpbd', 'libcanvas', 'libgtkmm2ext' ]
62     obj.name         = 'libwidgets'
63     obj.target       = 'widgets'
64     obj.vnum         = WIDGETS_LIB_VERSION
65     obj.install_path = bld.env['LIBDIR']
66     obj.defines      += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
67
68 def shutdown():
69     autowaf.shutdown()
70