diff options
Diffstat (limited to 'src/meson.build')
-rw-r--r-- | src/meson.build | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..7833e8f --- /dev/null +++ b/src/meson.build @@ -0,0 +1,67 @@ +pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) +gnome = import('gnome') + +gnome.compile_resources('furtherance', + 'furtherance.gresource.xml', + gresource_bundle: true, + install: true, + install_dir: pkgdatadir, +) + +conf = configuration_data() +conf.set_quoted('VERSION', meson.project_version()) +conf.set_quoted('GETTEXT_PACKAGE', 'furtherance') +conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir'))) +conf.set_quoted('PKGDATADIR', pkgdatadir) +conf.set_quoted('APP_ID', app_id) + +configure_file( + input: 'config.rs.in', + output: 'config.rs', + configuration: conf +) + +# Copy the config.rs output to the source directory. +run_command( + 'cp', + join_paths(meson.build_root(), 'src', 'config.rs'), + join_paths(meson.source_root(), 'src', 'config.rs'), + check: true +) + +rust_sources = files( + 'ui.rs', + 'ui/task_details.rs', + 'ui/task_row.rs', + 'ui/tasks_group.rs', + 'ui/tasks_page.rs', + 'ui/history_box.rs', + 'ui/window.rs', + + 'application.rs', + 'config.rs', + 'main.rs', + + 'database.rs', +) + +sources = [cargo_sources, rust_sources] + +cargo_script = find_program(join_paths(meson.source_root(), 'build-aux/cargo.sh')) +cargo_release = custom_target( + 'cargo-build', + build_by_default: true, + input: sources, + output: meson.project_name(), + console: true, + install: true, + install_dir: get_option('bindir'), + command: [ + cargo_script, + meson.build_root(), + meson.source_root(), + '@OUTPUT@', + get_option('buildtype'), + meson.project_name(), + ] +) |