2017-07-15 11:38:28 -04:00
|
|
|
#!/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',
|
2017-07-16 16:13:46 -04:00
|
|
|
'ardour_fader.cc',
|
2017-07-16 22:55:52 -04:00
|
|
|
'ardour_icon.cc',
|
2017-07-15 11:38:28 -04:00
|
|
|
'ardour_knob.cc',
|
|
|
|
'ardour_spacer.cc',
|
|
|
|
'ardour_spinner.cc',
|
2017-07-16 16:13:46 -04:00
|
|
|
'barcontroller.cc',
|
2017-07-16 22:55:52 -04:00
|
|
|
'binding_proxy.cc',
|
|
|
|
'eventboxext.cc',
|
|
|
|
'choice.cc',
|
2017-07-16 16:13:46 -04:00
|
|
|
'fastmeter.cc',
|
|
|
|
'focus_entry.cc',
|
2017-07-16 22:55:52 -04:00
|
|
|
'pane.cc',
|
|
|
|
'paths_dialog.cc',
|
|
|
|
'popup.cc',
|
|
|
|
'prompter.cc',
|
|
|
|
'scroomer.cc',
|
2017-07-16 16:13:46 -04:00
|
|
|
'searchbar.cc',
|
|
|
|
'slider_controller.cc',
|
2017-07-16 22:55:52 -04:00
|
|
|
'stateful_button.cc',
|
|
|
|
'tabbable.cc',
|
|
|
|
'tearoff.cc',
|
2017-07-15 11:38:28 -04:00
|
|
|
'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)
|
2020-01-13 18:52:01 -05:00
|
|
|
obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'] ]
|
|
|
|
obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ]
|
2017-07-15 11:38:28 -04:00
|
|
|
obj.defines = [ ]
|
|
|
|
|
|
|
|
obj.export_includes = ['.']
|
2020-01-20 17:08:11 -05:00
|
|
|
obj.includes = ['.'] + bld.env['INCLUDES_GLIB']
|
2020-01-20 22:35:40 -05:00
|
|
|
obj.uselib = 'SIGCPP CAIROMM GTKMM BOOST XML OSX'
|
2017-07-17 12:34:35 -04:00
|
|
|
obj.use = [ 'libpbd', 'libgtkmm2ext' ]
|
2017-07-15 11:38:28 -04:00
|
|
|
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()
|
|
|
|
|