79 lines
2.1 KiB
Python
79 lines
2.1 KiB
Python
#!/usr/bin/env python
|
|
from waflib.extras import autowaf as autowaf
|
|
from waflib import Options
|
|
from waflib import TaskGen
|
|
import os
|
|
|
|
# Version of this package (even if built as a child)
|
|
MAJOR = '0'
|
|
MINOR = '0'
|
|
MICRO = '0'
|
|
WIDGETS_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
|
|
WIDGETS_LIB_VERSION = '0.0.0'
|
|
|
|
# Variables for 'waf dist'
|
|
APPNAME = 'widgets'
|
|
VERSION = WIDGETS_VERSION
|
|
I18N_PACKAGE = 'libwidgets'
|
|
|
|
# Mandatory variables
|
|
top = '.'
|
|
out = 'build'
|
|
|
|
widgets_sources = [
|
|
'ardour_button.cc',
|
|
'ardour_display.cc',
|
|
'ardour_dropdown.cc',
|
|
'ardour_fader.cc',
|
|
'ardour_knob.cc',
|
|
'ardour_spacer.cc',
|
|
'ardour_spinner.cc',
|
|
'auto_spin.cc',
|
|
'barcontroller.cc',
|
|
'click_box.cc',
|
|
'fastmeter.cc',
|
|
'focus_entry.cc',
|
|
'searchbar.cc',
|
|
'slider_controller.cc',
|
|
'tooltips.cc',
|
|
'ui_config.cc',
|
|
]
|
|
|
|
def options(opt):
|
|
autowaf.set_options(opt)
|
|
|
|
def configure(conf):
|
|
conf.load ('compiler_cxx')
|
|
autowaf.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=widgets_sources)
|
|
obj.defines = [ 'LIBWIDGETS_DLL_EXPORTS=1' ]
|
|
else:
|
|
obj = bld.stlib(features = 'cxx cxxstlib', source=widgets_sources)
|
|
obj.cxxflags = [ '-fPIC' ]
|
|
obj.cflags = [ '-fPIC' ]
|
|
obj.defines = [ ]
|
|
|
|
obj.export_includes = ['.']
|
|
obj.includes = ['.']
|
|
obj.uselib = 'SIGCPP CAIROMM GTKMM BOOST XML'
|
|
obj.use = [ 'libpbd', 'libcanvas', 'libgtkmm2ext' ]
|
|
obj.name = 'libwidgets'
|
|
obj.target = 'widgets'
|
|
obj.vnum = WIDGETS_LIB_VERSION
|
|
obj.install_path = bld.env['LIBDIR']
|
|
obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
|
|
|
|
def shutdown():
|
|
autowaf.shutdown()
|
|
|