Include stripped down libsmf code internally.
[ardour.git] / libs / evoral / wscript
1 #!/usr/bin/env python
2 import autowaf
3
4 # Version of this package (even if built as a child)
5 EVORAL_VERSION = '0.0.0'
6
7 # Library version (UNIX style major, minor, micro)
8 # major increment <=> incompatible changes
9 # minor increment <=> compatible changes (additions)
10 # micro increment <=> no interface changes
11 # Version history:
12 #   0.0.0 = 0,0,0
13 EVORAL_LIB_VERSION = '0.0.0'
14
15 # Variables for 'waf dist'
16 APPNAME = 'evoral'
17 VERSION = EVORAL_VERSION
18
19 # Mandatory variables
20 srcdir = '.'
21 blddir = 'build'
22
23 def set_options(opt):
24         autowaf.set_options(opt)
25
26 def configure(conf):
27         autowaf.configure(conf)
28         autowaf.check_tool(conf, 'compiler_cxx')
29         autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=True)
30         autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=True)
31         autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0', mandatory=True)
32         autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
33
34 def build(bld):
35         # Headers
36         #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.h')
37         #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.hpp')
38         
39         # Pkgconfig file
40         #autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD')
41         
42         libsmf = bld.new_task_gen('cc', 'shlib')
43         libsmf.source = '''
44                 src/libsmf/smf.c
45                 src/libsmf/smf_decode.c
46                 src/libsmf/smf_load.c
47                 src/libsmf/smf_save.c
48                 src/libsmf/smf_tempo.c
49         '''
50         libsmf.export_incdirs = ['./src/libsmf']
51         libsmf.defines      = 'SMF_VERSION=\\\"1.2\\\"'
52         libsmf.includes     = ['./src']
53         libsmf.name         = 'libsmf'
54         libsmf.target       = 'smf'
55         libsmf.uselib       = 'GLIB'
56         libsmf.install_path = ''
57
58         # Library
59         obj = bld.new_task_gen('cxx', 'shlib')
60         obj.source = '''
61                 src/Control.cpp
62                 src/ControlList.cpp
63                 src/ControlSet.cpp
64                 src/Curve.cpp
65                 src/Event.cpp
66                 src/MIDIEvent.cpp
67                 src/Note.cpp
68                 src/SMF.cpp
69                 src/SMFReader.cpp
70                 src/LibSMF.cpp
71                 src/Sequence.cpp
72         '''
73         obj.export_incdirs = ['.']
74         obj.includes     = ['.', './src']
75         obj.name         = 'libevoral'
76         obj.target       = 'evoral'
77         obj.uselib       = 'GLIBMM GTHREAD SMF'
78         obj.uselib_local = 'libsmf'
79         obj.vnum         = EVORAL_LIB_VERSION
80         obj.install_path = ''
81         
82         # Unit tests
83         obj              = bld.new_task_gen('cxx', 'program')
84         obj.source       = '''
85                 test/SequenceTest.cpp
86                 test/SMFTest.cpp
87                 test/testrunner.cpp
88         '''
89         obj.includes     = ['.', './src']
90         obj.uselib_local = 'libevoral'
91         obj.uselib       = 'CPPUNIT'
92         obj.target       = 'run-tests'
93         obj.install_path = ''
94
95 def shutdown():
96         autowaf.shutdown()
97