Fix pollution of global namespace by Evoral.
[ardour.git] / libs / evoral / wscript
1 #!/usr/bin/env python
2 import Params
3 import autowaf
4
5 # Version of this package (even if built as a child)
6 EVORAL_VERSION = '0.0.0'
7
8 # Library version (UNIX style major, minor, micro)
9 # major increment <=> incompatible changes
10 # minor increment <=> compatible changes (additions)
11 # micro increment <=> no interface changes
12 # Version history:
13 #   0.0.0 = 0,0,0
14 EVORAL_LIB_VERSION = '0.0.0'
15
16 # Variables for 'waf dist'
17 APPNAME = 'evoral'
18 VERSION = EVORAL_VERSION
19
20 # Mandatory variables
21 srcdir = '.'
22 blddir = 'build'
23
24 def set_options(opt):
25         autowaf.set_options(opt)
26         opt.tool_options('compiler_cc')
27         opt.tool_options('compiler_cxx')
28
29 def configure(conf):
30         autowaf.configure(conf)
31         autowaf.check_tool(conf, 'compiler_cxx')
32         autowaf.check_pkg(conf, 'glibmm-2.4', destvar='GLIBMM', vnum='2.16.0', mandatory=True)
33         autowaf.check_pkg(conf, 'gthread-2.0', destvar='GTHREAD', vnum='2.16.0', mandatory=True)
34
35 def build(bld):
36         # Headers
37         #install_files('PREFIX', 'include/evoral', 'evoral/*.h')
38         #install_files('PREFIX', 'include/evoral', 'evoral/*.hpp')
39         
40         # Pkgconfig file
41         #autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD')
42         
43         # Library
44         obj = bld.create_obj('cpp', 'shlib')
45         obj.source = '''
46                 src/Control.cpp
47                 src/ControlList.cpp
48                 src/ControlSet.cpp
49                 src/Curve.cpp
50                 src/Event.cpp
51                 src/MIDIEvent.cpp
52                 src/Note.cpp
53                 src/SMF.cpp
54                 src/SMFReader.cpp
55                 src/Sequence.cpp
56         '''
57         obj.includes = ['.']
58         obj.name     = 'libevoral'
59         obj.target   = 'evoral'
60         obj.uselib   = 'GLIBMM GTHREAD'
61         obj.vnum     = EVORAL_LIB_VERSION
62         obj.inst_var = 0
63         
64         # Unit tests
65         obj              = bld.create_obj('cpp', 'program')
66         obj.source       = 'test/sequence.cpp'
67         obj.includes     = '..'
68         obj.uselib_local = 'libevoral'
69         obj.target       = 'sequence'
70         obj.inst_var     = 0
71
72 def shutdown():
73         autowaf.shutdown()
74