13
0
livetrax/libs/canvas/wscript
Mads Kiilerich d220f477ed wscript: drop unused "mandatory variables" 'top' and 'out' in libs
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.

These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00

158 lines
5.6 KiB
Python

#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
import os
# Version of this package (even if built as a child)
MAJOR = '0'
MINOR = '0'
MICRO = '0'
CANVAS_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
CANVAS_LIB_VERSION = '0.0.0'
I18N_PACKAGE = 'libcanvas'
path_prefix = 'libs/canvas/'
canvas_sources = [
'arc.cc',
'arrow.cc',
'box.cc',
'canvas.cc',
'circle.cc',
'container.cc',
'curve.cc',
'debug.cc',
'item.cc',
'fill.cc',
'flag.cc',
'framed_curve.cc',
'grid.cc',
'image.cc',
'line.cc',
'line_set.cc',
'lollipop.cc',
'lookup_table.cc',
'meter.cc',
'note.cc',
'outline.cc',
'pixbuf.cc',
'poly_item.cc',
'poly_line.cc',
'polygon.cc',
'rectangle.cc',
'root_group.cc',
'ruler.cc',
'scroll_group.cc',
'stateful_image.cc',
'step_button.cc',
'table.cc',
'text.cc',
'tracking_text.cc',
'types.cc',
'utils.cc',
'widget.cc',
'xfade_curve.cc',
]
def options(opt):
autowaf.set_options(opt)
def configure(conf):
autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4')
def build(bld):
# Library
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
obj = bld.shlib(features = 'cxx cxxshlib', source=canvas_sources)
obj.defines = [ 'LIBCANVAS_DLL_EXPORTS=1' ]
else:
obj = bld.stlib(features = 'cxx cxxstlib', source=canvas_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.uselib = 'SIGCPP CAIROMM GTKMM BOOST XML OSX'
obj.use = [ 'libpbd', 'libgtkmm2ext' ]
obj.name = 'libcanvas'
obj.target = 'canvas'
obj.vnum = CANVAS_LIB_VERSION
obj.install_path = bld.env['LIBDIR']
obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
# canvas unit-tests are outdated
if False and bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
unit_testobj = bld(features = 'cxx cxxprogram')
unit_testobj.source = '''
test/group.cc
test/arrow.cc
test/optimizing_lookup_table.cc
test/polygon.cc
test/types.cc
test/render.cc
test/xml.cc
test/wave_view.cc
test/item.cc
test/testrunner.cpp
'''.split()
unit_testobj.includes = obj.includes + ['test', '../pbd']
unit_testobj.uselib = 'CPPUNIT SIGCPP CAIROMM GTKMM'
unit_testobj.uselib_local = 'libcanvas libgtkmm2ext'
unit_testobj.name = 'libcanvas-unit-tests'
unit_testobj.target = 'run-tests'
unit_testobj.install_path = ''
unit_testobj.cxxflags = ['-DPACKAGE="libcanvastest"']
unit_testobj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
unit_testobj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFDIR']) + '"']
unit_testobj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
manual_tests = '''
test/hello_world.cc
test/gtk_many.cc
test/gtk_scene.cc
test/gtk_movement.cc
test/gtk_viewport.cc
test/gtk_drag.cc
'''.split()
for t in manual_tests:
target = t[:-3]
name = t[t.find('/')+1:-3]
manual_testobj = bld(features = 'cxx cxxprogram')
manual_testobj.source = t
manual_testobj.includes = obj.includes + ['test', '../pbd']
manual_testobj.uselib = 'CPPUNIT SIGCPP CAIROMM GTKMM'
manual_testobj.uselib_local = 'libcanvas libgtkmm2ext'
manual_testobj.name = 'libcanvas-manual-test-%s' % name
manual_testobj.target = target
manual_testobj.install_path = ''
benchmarks = '''
benchmark/items_at_point.cc
benchmark/render_parts.cc
benchmark/render_from_log.cc
benchmark/render_whole.cc
'''.split()
for t in benchmarks:
target = t[:-3]
name = t[t.find('/')+1:-3]
manual_testobj = bld(features = 'cxx cxxprogram')
manual_testobj.source = [ t, 'benchmark/benchmark.cc' ]
manual_testobj.includes = obj.includes + ['test', '../pbd']
manual_testobj.uselib = 'CPPUNIT SIGCPP CAIROMM GTKMM'
manual_testobj.uselib_local = 'libcanvas libgtkmm2ext'
manual_testobj.name = 'libcanvas-benchmark-%s' % name
manual_testobj.target = target
manual_testobj.install_path = ''
def shutdown():
autowaf.shutdown()