13
0
livetrax/libs/temporal/wscript

116 lines
3.6 KiB
Python

#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
from waflib import Options
import os
# Mandatory variables
top = '.'
out = 'build'
# Version of this package (even if built as a child)
MAJOR = '0'
MINOR = '0'
MICRO = '0'
TEMPORAL_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO)
# Library version (UNIX style major, minor, micro)
# major increment <=> incompatible changes
# minor increment <=> compatible changes (additions)
# micro increment <=> no interface changes
TEMPORAL_LIB_VERSION = '0.0.0'
# Variables for 'waf dist'
APPNAME = 'temporal'
VERSION = TEMPORAL_VERSION
I18N_PACKAGE = 'libtemporal'
temporal_sources = [
'debug.cc',
'bbt_time.cc',
'beats.cc',
'enums.cc',
'range.cc',
'superclock.cc',
'tempo.cc',
'time.cc',
'timeline.cc',
]
def options(opt):
autowaf.set_options(opt)
def configure(conf):
pass
def build(bld):
# Library
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
obj = bld.shlib(features = 'cxx cxxshlib', source=temporal_sources)
obj.defines = [ 'LIBTEMPORAL_DLL_EXPORTS=1' ]
else:
obj = bld.stlib(features = 'cxx cxxstlib', source=temporal_sources)
obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'] ]
obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ]
obj.defines = [ ]
obj.export_includes = ['.']
obj.includes = ['.']
obj.name = 'libtemporal'
obj.target = 'temporal'
obj.vnum = TEMPORAL_LIB_VERSION
obj.install_path = bld.env['LIBDIR']
obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
obj.uselib = [ 'GLIBMM', 'XML', 'OSX' ]
obj.use = [ 'libpbd' ]
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 = temporal_sources
obj.export_includes = ['.']
obj.includes = ['.']
obj.name = 'libtemporal_static'
obj.target = 'temporal_static'
obj.uselib = 'GLIBMM GTHREAD XML LIBPBD'
obj.use = 'libpbd'
obj.vnum = TEMPORAL_VERSION
obj.install_path = ''
if bld.env['TEST_COVERAGE']:
obj.linkflags = ['--coverage']
obj.cflags = ['--coverage']
obj.cxxflags = ['--coverage']
obj.defines = ['PACKAGE="libevoral"']
# Unit tests
obj = bld(features = 'cxx cxxprogram')
obj.source = '''
test/BeatTest.cc
test/BBTTest.cc
test/TempoMapTest.cc
test/TimelineTest.cc
test/testrunner.cc
'''
obj.includes = ['.']
obj.use = 'libtemporal_static'
obj.uselib = 'GLIBMM GTHREAD XML LIBPBD CPPUNIT'
obj.target = 'run-tests'
obj.name = 'libtemporal-tests'
obj.install_path = ''
obj.defines = ['PACKAGE="libtemporaltest"']
if bld.env['TEST_COVERAGE']:
obj.linkflags = ['--coverage']
obj.cflags = ['--coverage']
obj.cxxflags = ['--coverage']
if bld.is_defined('NEED_INTL'):
obj.linkflags = ' -lintl'
def test(ctx):
autowaf.pre_test(ctx, APPNAME)
print(os.getcwd())
os.environ['EVORAL_TEST_PATH'] = os.path.abspath('../test/testdata/')
autowaf.run_tests(ctx, APPNAME, ['./run-tests'])
autowaf.post_test(ctx, APPNAME)
def shutdown():
autowaf.shutdown()