project('notmuch', ['c', 'cpp'], license: 'GPLv3+', meson_version: '>=0.49.2') dep_xapian = dependency('xapian-core') dep_gmime = dependency('gmime-3.0', version: '>=3.0.3') dep_glib = dependency('glib-2.0', version: '>=2.22') dep_zlib = dependency('zlib', version: '>=1.2.5.2') dep_talloc = dependency('talloc') dep_valgrind = dependency('valgrind', required: false) dep_bash_completion = dependency('bash-completion', version: '>=1.90', required: false) ruby_versions = ['2.7', '2.6', '2.5'] foreach v : ruby_versions dep_ruby = dependency('ruby-@0@'.format(v)) if dep_ruby.found() break endif endforeach cmd_python = find_program('python3', 'python', 'python2') cmd_doxygen = find_program('doxygen', required: false) cmd_ruby = find_program('ruby', required: false) cmd_sphinx = find_program('sphinx-build', required: false) cmd_emacs = find_program('emacs', required: false) cmd_desktop_file_install = find_program('desktop-file-install', required: false) add_global_arguments('-Wno-deprecated-declarations', language: ['c', 'cpp']) add_project_arguments('-D_GNU_SOURCE', language: ['c', 'cpp']) add_project_arguments('-include', 'config.h', language: ['c', 'cpp']) inc_cli = include_directories('.') subdir('compat') subdir('parse-time-string') subdir('util') subdir('lib') subdir('bindings/ruby') subdir('test') notmuch_client_srcs = [ 'command-line-arguments.c', 'debugger.c', 'gmime-filter-reply.c', 'hooks.c', 'mime-node.c', 'notmuch-compact.c', 'notmuch-config.c', 'notmuch-count.c', 'notmuch-dump.c', 'notmuch-insert.c', 'notmuch-new.c', 'notmuch-reindex.c', 'notmuch-reply.c', 'notmuch-restore.c', 'notmuch-search.c', 'notmuch-setup.c', 'notmuch-show.c', 'notmuch-tag.c', 'notmuch-time.c', 'notmuch.c', 'query-string.c', 'sprinter-json.c', 'sprinter-sexp.c', 'sprinter-text.c', 'status.c', 'tag-util.c', ] executable('notmuch', notmuch_client_srcs, include_directories: [inc_util, inc_compat, inc_lib], dependencies: [dep_gmime, dep_zlib, dep_glib, dep_talloc], link_with: [lib_compat, lib_util, lib_parse_time, lib_notmuch.get_static_lib()], install: true) executable('notmuch-shared', notmuch_client_srcs, include_directories: [inc_util, inc_compat, inc_lib], dependencies: [dep_gmime, dep_zlib, dep_glib, dep_talloc], link_with: [lib_compat, lib_util, lib_parse_time, lib_notmuch], install: true) configure_file(input: 'sh.config.in', output: 'sh.config', configuration: config)