diff --git a/alsapid/meson.build b/alsapid/meson.build new file mode 100644 index 00000000..b97ccb1a --- /dev/null +++ b/alsapid/meson.build @@ -0,0 +1,8 @@ +alsapid_sources = [ + 'helper.c', + 'lib.c', +] + +alsapidlib = static_library('alsapid', alsapid_sources, + include_directories : inc, + install : false) diff --git a/art/meson.build b/art/meson.build new file mode 100644 index 00000000..d483cb71 --- /dev/null +++ b/art/meson.build @@ -0,0 +1,20 @@ +icon_dir = get_option('datadir') / 'icons/hicolor' + +install_subdir('16x16', install_dir : icon_dir) +install_subdir('22x22', install_dir : icon_dir) +install_subdir('24x24', install_dir : icon_dir) +install_subdir('32x32', install_dir : icon_dir) +install_subdir('48x48', install_dir : icon_dir) +install_subdir('256x256', install_dir : icon_dir) + +images = [ + 'ladish-logo-128x128.png', + 'status_down.png', + 'status_error.png', + 'status_started.png', + 'status_stopped.png', + 'status_unloaded.png', + 'status_warning.png', +] + +install_data(images, install_dir : data_dir) diff --git a/cdbus/meson.build b/cdbus/meson.build new file mode 100644 index 00000000..0ebda0c1 --- /dev/null +++ b/cdbus/meson.build @@ -0,0 +1,12 @@ +cdbus_sources = [ + 'helpers.c', + 'interface.c', + 'method.c', + 'object_path.c', + 'signal.c', +] + +cdbuslib = static_library('cdbus', cdbus_sources, + include_directories : inc, + dependencies : dbus_dep, + install : false) diff --git a/common/meson.build b/common/meson.build new file mode 100644 index 00000000..8ff41b84 --- /dev/null +++ b/common/meson.build @@ -0,0 +1,11 @@ +common_sources = [ + 'catdup.c', + 'dirhelpers.c', + 'file.c', + 'log.c', + 'time.c', +] + +commonlib = static_library('common', common_sources, + include_directories : inc, + install : false) diff --git a/daemon/meson.build b/daemon/meson.build new file mode 100644 index 00000000..d2e9d0bf --- /dev/null +++ b/daemon/meson.build @@ -0,0 +1,55 @@ +daemon_sources = [ + 'appdb.c', + 'app_supervisor.c', + 'check_integrity.c', + 'client.c', + 'cmd_change_app_state.c', + 'cmd_create_room.c', + 'cmd_delete_room.c', + 'cmd_exit.c', + 'cmd_load_project.c', + 'cmd_load_studio.c', + 'cmd_new_app.c', + 'cmd_new_studio.c', + 'cmd_remove_app.c', + 'cmd_rename_studio.c', + 'cmd_save_project.c', + 'cmd_save_studio.c', + 'cmd_start_studio.c', + 'cmd_stop_studio.c', + 'cmd_unload_project.c', + 'cmd_unload_studio.c', + 'control.c', + 'cqueue.c', + 'dict.c', + 'escape.c', + 'graph.c', + 'graph_dict.c', + 'graph_manager.c', + 'jack_session.c', + 'lash_server.c', + 'load.c', + 'loader.c', + 'main.c', + 'port.c', + 'procfs.c', + 'proctitle.c', + 'recent_projects.c', + 'recent_store.c', + 'room.c', + 'room_load.c', + 'room_save.c', + 'save.c', + 'siginfo.c', + 'studio.c', + 'studio_jack_conf.c', + 'studio_list.c', + 'virtualizer.c', + '../string_constants.c', +] + +ladishd = executable('ladishd', daemon_sources, + dependencies : deps, + include_directories : inc, + link_with : [commonlib, cdbuslib, proxieslib, alsapidlib], + install : true) diff --git a/gui/flowcanvas/meson.build b/gui/flowcanvas/meson.build new file mode 100644 index 00000000..1a3102e9 --- /dev/null +++ b/gui/flowcanvas/meson.build @@ -0,0 +1,23 @@ +flowcanvas_inc = include_directories('.') + +flowcanvas_deps = [ + # dependency('libgvc', version : '>=2.8'), + dependency('gtkmm-2.4', version : '>=2.10.0', required : true), + dependency('libgnomecanvasmm-2.6', version : '>=2.6.0', required : true), + # dependency('boost', required : true) +] + +flowcanvas_sources = [ + 'Canvas.cpp', + 'Connectable.cpp', + 'Connection.cpp', + 'Ellipse.cpp', + 'Item.cpp', + 'Module.cpp', + 'Port.cpp' +] + +flowcanvaslib = static_library('flowcanvas', flowcanvas_sources, + include_directories : [flowcanvas_inc, inc], + dependencies : flowcanvas_deps, + install : false) diff --git a/gui/meson.build b/gui/meson.build new file mode 100644 index 00000000..d78815a0 --- /dev/null +++ b/gui/meson.build @@ -0,0 +1,45 @@ +gui_deps = [ + dependency('dbus-glib-1'), +] + +subdir('flowcanvas') + +gladish_sources = [ + 'about.c', + 'action.c', + 'ask_dialog.c', + 'canvas.cpp', + 'control.c', + 'create_room_dialog.c', + 'dbus.c', + 'dialogs.c', + 'dynmenu.c', + 'graph_canvas.c', + 'graph_view.c', + 'gtk_builder.c', + 'jack.c', + 'load_project_dialog.c', + 'main.c', + 'menu.c', + 'pixbuf.c', + 'project_properties.c', + 'room.c', + 'save_project_dialog.c', + 'settings.c', + 'statusbar.c', + 'studio.c', + 'studio_list.c', + 'toolbar.c', + 'world_tree.c', + 'zoom.c', + '../string_constants.c', +] + +gladish = executable('gladish', gladish_sources, + dependencies : [gui_deps, flowcanvas_deps], + include_directories : [flowcanvas_inc, inc], + link_with : [flowcanvaslib, proxieslib, cdbuslib, commonlib], + install : true) + +install_data('gladish.ui', install_dir : data_dir) +install_data('gladish.desktop', install_dir : get_option('datadir') / 'applications' ) diff --git a/lash_compat/liblash/meson.build b/lash_compat/liblash/meson.build new file mode 100644 index 00000000..7a1831e6 --- /dev/null +++ b/lash_compat/liblash/meson.build @@ -0,0 +1,21 @@ +install_headers([ + 'lash/client_interface.h', + 'lash/config.h', + 'lash/event.h', + 'lash/lash.h', + 'lash/protocol.h', + 'lash/types.h', +], subdir : 'lash-1.0/lash') + +liblash = library('lash', 'lash.c', + include_directories : [lash_inc, inc], + dependencies : [dbus_dep], + link_with : [cdbuslib, commonlib], + install : true) + +pkg_mod.generate(libraries : liblash, + version : '1.1.1', + name : 'liblash', + requires : dbus_dep, + description : 'lash compatibility library to ladish', + filebase : 'liblash') diff --git a/lash_compat/pylash/meson.build b/lash_compat/pylash/meson.build new file mode 100644 index 00000000..6ca684ea --- /dev/null +++ b/lash_compat/pylash/meson.build @@ -0,0 +1,9 @@ +py = import('python') +py = py.find_installation('python2') + +libpylash = py.extension_module('pylash', ['lash.c', 'lash_wrap.c'], + include_directories : [lash_inc, inc], + dependencies : [py.dependency()], + install : true) + +py.install_sources('lash.py') diff --git a/meson.build b/meson.build new file mode 100644 index 00000000..a277ee7f --- /dev/null +++ b/meson.build @@ -0,0 +1,86 @@ +project('ladish', 'c', 'cpp', + version : '0.3', + license : 'MIT') + +data_dir = get_option('prefix') / 'share' / 'ladish' +locale_dir = get_option('prefix') / 'share' / 'locale' +dbus_name_base = 'org.ladish' +dbus_base_path = '/org/ladish' + +git_version = run_command(['git', 'rev-parse', '--short', 'HEAD']).stdout().strip() + +run_command(['touch', 'build/version.h', 'build/config.h']) + +configure_file(output : 'version.h', + configuration : { + 'GIT_VERSION' : '"@0@"'.format(git_version) + } +) + +configure_file(output : 'config.h', + configuration : { + 'PACKAGE_VERSION' : '"@0@"'.format(meson.project_version()), + 'BASE_NAME' : '"@0@"'.format(meson.project_name()), + 'DATA_DIR' : '"@0@"'.format(data_dir), + 'LOCALE_DIR' : '"@0@"'.format(locale_dir), + 'DBUS_NAME_BASE' : '"@0@"'.format(dbus_name_base), + 'DBUS_BASE_PATH' : '"@0@"'.format(dbus_base_path), + '_GNU_SOURCE' : 1, + } +) + +cc = meson.get_compiler('c') + +inc = include_directories('build') +lash_inc = include_directories('lash_compat/liblash') + +dbus_dep = dependency('dbus-1') +jack_dep = dependency('jack') + +deps = [ + cc.find_library('dl'), + cc.find_library('util'), + dbus_dep, + jack_dep, + dependency('alsa'), + dependency('uuid'), + dependency('expat') +] + +pkg_mod = import('pkgconfig') + +subdir('common') +subdir('proxies') +subdir('cdbus') +subdir('alsapid') + +# ladishd +subdir('daemon') + +if get_option('liblash').enabled() + subdir('lash_compat/liblash') +endif + +if get_option('pylash').enabled() + subdir('lash_compat/pylash') +endif + +if get_option('gladish').enabled() + subdir('gui') + subdir('art') +endif + +install_data(['AUTHORS', 'README', 'NEWS'], install_dir : data_dir) + +install_data('ladish_control', + install_dir : get_option('prefix') / 'bin') + +jmcore = executable('jmcore', 'jmcore.c', + dependencies : deps, + link_with : [commonlib, cdbuslib], + install : true) + +ladiconfd = executable('ladiconfd', 'conf.c', + dependencies : deps, + link_with : [commonlib, cdbuslib], + install : true) diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 00000000..e01b59c4 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,3 @@ +option('liblash', type : 'feature') +option('pylash', type : 'feature') +option('gladish', type : 'feature') diff --git a/proxies/meson.build b/proxies/meson.build new file mode 100644 index 00000000..aef9f92b --- /dev/null +++ b/proxies/meson.build @@ -0,0 +1,18 @@ +proxies_sources = [ + 'a2j_proxy.c', + 'app_supervisor_proxy.c', + 'conf_proxy.c', + 'control_proxy.c', + 'graph_proxy.c', + 'jack_proxy.c', + 'jmcore_proxy.c', + 'lash_client_proxy.c', + 'notify_proxy.c', + 'room_proxy.c', + 'studio_proxy.c', +] + +proxieslib = static_library('proxies', proxies_sources, + include_directories : inc, + dependencies : dbus_dep, + install : false)