a2897ecef6
they are now done with region fades, rather than separate objects. After this commit, Ardour will try to convert your session files to the new crossfade format, but will make a backup in your session folder first. If you have works in progress using Ardour 3 it is ***STRONGLY RECOMMENDED*** that you back up session files before updating to this commit. git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
143 lines
4.9 KiB
Python
143 lines
4.9 KiB
Python
#!/usr/bin/env python
|
|
from waflib.extras import autowaf as autowaf
|
|
from waflib import Options
|
|
import os
|
|
|
|
# Version of this package (even if built as a child)
|
|
EVORAL_VERSION = '0.0.0'
|
|
|
|
# Library version (UNIX style major, minor, micro)
|
|
# major increment <=> incompatible changes
|
|
# minor increment <=> compatible changes (additions)
|
|
# micro increment <=> no interface changes
|
|
# Version history:
|
|
# 0.0.0 = 0,0,0
|
|
EVORAL_LIB_VERSION = '0.0.0'
|
|
|
|
# Variables for 'waf dist'
|
|
APPNAME = 'evoral'
|
|
VERSION = EVORAL_VERSION
|
|
|
|
# Mandatory variables
|
|
top = '.'
|
|
out = 'build'
|
|
|
|
def options(opt):
|
|
autowaf.set_options(opt)
|
|
opt.add_option('--test', action='store_true', default=False, dest='build_tests',
|
|
help="Build unit tests")
|
|
opt.add_option('--test-coverage', action='store_true', default=False, dest='test_coverage',
|
|
help="Use gcov to test for code coverage")
|
|
|
|
def configure(conf):
|
|
conf.load('compiler_cxx')
|
|
autowaf.configure(conf)
|
|
#autowaf.display_header('Evoral Configuration')
|
|
|
|
autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
|
|
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2')
|
|
autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0')
|
|
autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0')
|
|
|
|
# Boost headers
|
|
autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
|
|
autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
|
|
|
|
conf.env['BUILD_TESTS'] = Options.options.build_tests
|
|
conf.env['TEST_COVERAGE'] = Options.options.test_coverage
|
|
|
|
#autowaf.display_msg(conf, "Unit tests", str(conf.env['BUILD_TESTS']))
|
|
#print
|
|
|
|
def build(bld):
|
|
# Headers
|
|
#bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.h')
|
|
#bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.hpp')
|
|
|
|
# Pkgconfig file
|
|
#autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD')
|
|
|
|
libsmf = bld(features = 'c cshlib')
|
|
libsmf.source = '''
|
|
src/libsmf/smf.c
|
|
src/libsmf/smf_decode.c
|
|
src/libsmf/smf_load.c
|
|
src/libsmf/smf_save.c
|
|
src/libsmf/smf_tempo.c
|
|
'''
|
|
libsmf.export_includes = ['./src/libsmf']
|
|
libsmf.defines = 'SMF_VERSION="1.2"'
|
|
libsmf.includes = ['./src']
|
|
libsmf.name = 'libsmf'
|
|
libsmf.target = 'smf'
|
|
libsmf.uselib = 'GLIB'
|
|
libsmf.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
|
|
|
|
lib_source = '''
|
|
src/Control.cpp
|
|
src/ControlList.cpp
|
|
src/ControlSet.cpp
|
|
src/Curve.cpp
|
|
src/Event.cpp
|
|
src/midi_util.cpp
|
|
src/MIDIEvent.cpp
|
|
src/Note.cpp
|
|
src/SMF.cpp
|
|
src/Sequence.cpp
|
|
src/debug.cpp
|
|
'''
|
|
|
|
# Library
|
|
obj = bld(features = 'cxx cxxshlib')
|
|
obj.source = lib_source
|
|
obj.export_includes = ['.']
|
|
obj.includes = ['.', './src']
|
|
obj.name = 'libevoral'
|
|
obj.target = 'evoral'
|
|
obj.uselib = 'GLIBMM GTHREAD SMF'
|
|
obj.use = 'libsmf libpbd'
|
|
obj.vnum = EVORAL_LIB_VERSION
|
|
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
|
|
obj.defines = ['PACKAGE="libevoral"' ]
|
|
|
|
if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
|
|
# Static library (for unit test code coverage)
|
|
obj = bld(features = 'cxx cstlib')
|
|
obj.source = lib_source
|
|
obj.source = lib_source
|
|
obj.export_includes = ['.']
|
|
obj.includes = ['.', './src']
|
|
obj.name = 'libevoral_static'
|
|
obj.target = 'evoral_static'
|
|
obj.uselib = 'GLIBMM GTHREAD SMF'
|
|
obj.use = 'libsmf libpbd'
|
|
obj.vnum = EVORAL_LIB_VERSION
|
|
obj.install_path = ''
|
|
if bld.env['TEST_COVERAGE']:
|
|
obj.linkflags = '-lgcov'
|
|
obj.cflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
|
obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
|
obj.defines = ['PACKAGE="libevoral"' ]
|
|
|
|
# Unit tests
|
|
obj = bld(features = 'cxx cxxprogram')
|
|
obj.source = '''
|
|
test/SequenceTest.cpp
|
|
test/SMFTest.cpp
|
|
test/RangeTest.cpp
|
|
test/testrunner.cpp
|
|
'''
|
|
obj.includes = ['.', './src']
|
|
obj.use = 'libevoral_static'
|
|
obj.uselib = 'CPPUNIT SNDFILE'
|
|
obj.target = 'run-tests'
|
|
obj.name = 'libevoral-tests'
|
|
obj.install_path = ''
|
|
if bld.env['TEST_COVERAGE']:
|
|
obj.linkflags = '-lgcov'
|
|
obj.cflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
|
obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
|
|
|
def shutdown():
|
|
autowaf.shutdown()
|