project( 'audrey', ['c', 'vala'], version: '0.1.0', # AUDREY_VERSION meson_version: '>= 1.0.0', default_options: ['warning_level=0', 'werror=false'], ) i18n = import('i18n') gnome = import('gnome') fs = import('fs') cc = meson.get_compiler('c') valac = meson.get_compiler('vala') srcdir = meson.project_source_root() / 'src' config_h = configuration_data() config_h.set_quoted('PACKAGE_VERSION', meson.project_version()) config_h.set_quoted('GETTEXT_PACKAGE', 'audrey') config_h.set_quoted('LOCALEDIR', get_option('prefix') / get_option('localedir')) configure_file(output: 'config.h', configuration: config_h) config_dep = valac.find_library('config', dirs: srcdir) config_inc = include_directories('.') add_project_arguments( [ '-DGETTEXT_PACKAGE="' + meson.project_name() + '"', '-DG_LOG_DOMAIN="audrey"', ], language: 'c', ) add_project_arguments( cc.get_supported_arguments( ['-Wno-tautological-pointer-compare', '-Wno-unused-value'], ), language: 'c', ) subdir('data') subdir('po') subdir('resources') subdir('src') if get_option('buildtype') == 'debug' rust_args = [] rust_target = 'debug' else rust_args = ['--release'] rust_target = 'release' endif cargo = find_program('cargo') custom_target( 'cargo-build', build_by_default: true, build_always_stale: true, depends: [ audrey_c, blueprints, ], console: true, output: meson.project_name(), command: [ 'env', 'RUSTFLAGS=-L ' + fs.parent(audrey_c.full_path()), 'MESON_BUILD_ROOT=' + meson.project_build_root(), cargo, 'build', rust_args, '--manifest-path', meson.project_source_root() / 'Cargo.toml', '--target-dir', meson.project_build_root() / 'cargo-target', '&&', 'cp', 'cargo-target' / rust_target / meson.project_name(), '@OUTPUT@', ], )