7737c17d52
Done with ad hoc scripting hacks processing unused imports found by pyflakes: for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Logs.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^import waflib.Logs as Logs,/import/g' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/import waflib.Options as Options, /import /g' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^from waflib import Options,/from waflib import/g' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep ' imported but unused$' | sed "s/^\([^:]*\):[0-9]*:[0-9]* '\(.*\)'.*/\1 \2/g" | while read f lib; do sed -i "/^import $lib$/d" $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import Options$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.TaskGen.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import TaskGen$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Task.Task.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Task import Task$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Tools.winres.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Tools import winres$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Utils.* but unused' | cut -d: -f1 | while read f; do sed -i '/^import waflib.Utils as Utils$/d' $f; done
118 lines
3.7 KiB
Python
118 lines
3.7 KiB
Python
#!/usr/bin/env python
|
|
from waflib.extras import autowaf as autowaf
|
|
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',
|
|
'domain.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_LIB_VERSION
|
|
obj.install_path = ''
|
|
if bld.env['TEST_COVERAGE']:
|
|
obj.linkflags = ['--coverage']
|
|
obj.cflags = ['--coverage']
|
|
obj.cxxflags = ['--coverage']
|
|
obj.defines = ['PACKAGE="libtemporal"']
|
|
|
|
# Unit tests
|
|
obj = bld(features = 'cxx cxxprogram')
|
|
obj.source = [
|
|
'test/BeatTest.cc',
|
|
'test/BBTTest.cc',
|
|
'test/TempoMapTest.cc',
|
|
'test/TempoMapCutBufferTest.cc',
|
|
'test/TimelineTest.cc',
|
|
'test/RangeTest.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()
|