summaryrefslogtreecommitdiffstats
path: root/src/gui/wscript
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/wscript')
-rw-r--r--src/gui/wscript111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/gui/wscript b/src/gui/wscript
new file mode 100644
index 00000000..a23e2084
--- /dev/null
+++ b/src/gui/wscript
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+import waflib.extras.autowaf as autowaf
+import waflib.Utils as Utils
+import waflib.Options as Options
+
+def options(ctx):
+ opt = ctx.configuration_options()
+ opt.add_option('--light-theme', action='store_true', dest='light_theme',
+ help='use light coloured theme')
+
+def configure(conf):
+ autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM',
+ atleast_version='2.14.0', system=True, mandatory=False)
+ autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD',
+ atleast_version='2.14.0', system=True, mandatory=False)
+ autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM',
+ atleast_version='2.14.0', system=True, mandatory=False)
+ autowaf.check_pkg(conf, 'ganv-1', uselib_store='GANV',
+ atleast_version='1.5.4', mandatory=False)
+ if not Options.options.no_webkit:
+ autowaf.check_pkg(conf, 'webkit-1.0', uselib_store='WEBKIT',
+ atleast_version='1.4.0', system=True, mandatory=False)
+
+ if conf.env.HAVE_GANV and conf.env.HAVE_GTKMM:
+ autowaf.define(conf, 'INGEN_BUILD_GUI', 1)
+
+ if Options.options.light_theme:
+ autowaf.define(conf, 'INGEN_USE_LIGHT_THEME', 1)
+
+def build(bld):
+ obj = bld(features = 'cxx cxxshlib',
+ export_includes = ['../..'],
+ includes = ['../..'],
+ name = 'libingen_gui',
+ target = 'ingen_gui',
+ install_path = '${LIBDIR}',
+ use = 'libingen libingen_client')
+ autowaf.use_lib(bld, obj, '''
+ GANV
+ GLADEMM
+ GLIBMM
+ GNOMECANVAS
+ GTKMM
+ LILV
+ LV2
+ RAUL
+ SIGCPP
+ SORD
+ SOUP
+ SUIL
+ WEBKIT
+ ''')
+
+ obj.source = '''
+ App.cpp
+ Arc.cpp
+ BreadCrumbs.cpp
+ ConnectWindow.cpp
+ GraphBox.cpp
+ GraphCanvas.cpp
+ GraphPortModule.cpp
+ GraphTreeWindow.cpp
+ GraphView.cpp
+ GraphWindow.cpp
+ LoadGraphWindow.cpp
+ LoadPluginWindow.cpp
+ MessagesWindow.cpp
+ NewSubgraphWindow.cpp
+ NodeMenu.cpp
+ NodeModule.cpp
+ ObjectMenu.cpp
+ PluginMenu.cpp
+ Port.cpp
+ PortMenu.cpp
+ PropertiesWindow.cpp
+ RDFS.cpp
+ RenameWindow.cpp
+ Style.cpp
+ SubgraphModule.cpp
+ ThreadedLoader.cpp
+ URIEntry.cpp
+ WidgetFactory.cpp
+ WindowFactory.cpp
+ ingen_gui.cpp
+ '''
+
+ # XML UI definition
+ bld(features = 'subst',
+ source = 'ingen_gui.ui',
+ target = '../../ingen_gui.ui',
+ install_path = '${DATADIR}/ingen',
+ chmod = Utils.O755,
+ INGEN_VERSION = bld.env.INGEN_VERSION)
+
+ # Gtk style
+ bld(features = 'subst',
+ is_copy = True,
+ source = 'ingen_style.rc',
+ target = '../../ingen_style.rc',
+ install_path = '${DATADIR}/ingen',
+ chmod = Utils.O755)
+
+ # LV2 UI
+ obj = bld(features = 'cxx cxxshlib',
+ source = 'ingen_gui_lv2.cpp',
+ includes = ['.', '../..'],
+ name = 'ingen_gui_lv2',
+ target = 'ingen_gui_lv2',
+ install_path = '${LV2DIR}/ingen.lv2/',
+ use = 'libingen libingen_gui')
+ autowaf.use_lib(bld, obj, 'LV2 SERD SORD LILV RAUL GLIBMM GTKMM')