Files
driftwood/meson.build
lashman 423323d5a9 Add Phase 5 enhancements: security, i18n, analysis, backup, notifications
- Database v8 migration: tags, pinned, avg_startup_ms columns
- Security scanning with CVE matching and batch scan
- Bundled library extraction and vulnerability reports
- Desktop notification system for security alerts
- Backup/restore system for AppImage configurations
- i18n framework with gettext support
- Runtime analysis and Wayland compatibility detection
- AppStream metadata and Flatpak-style build support
- File watcher module for live directory monitoring
- Preferences panel with GSettings integration
- CLI interface for headless operation
- Detail view: tabbed layout with ViewSwitcher in title bar,
  health score, sandbox controls, changelog links
- Library view: sort dropdown, context menu enhancements
- Dashboard: system status, disk usage, launch history
- Security report page with scan and export
- Packaging: meson build, PKGBUILD, metainfo
2026-02-27 17:16:41 +02:00

69 lines
1.6 KiB
Meson

project(
'driftwood',
'rust',
version: '0.1.0',
license: 'GPL-3.0-or-later',
meson_version: '>= 0.62.0',
)
i18n = import('i18n')
gnome = import('gnome')
app_id = 'app.driftwood.Driftwood'
prefix = get_option('prefix')
bindir = prefix / get_option('bindir')
datadir = prefix / get_option('datadir')
localedir = prefix / get_option('localedir')
iconsdir = datadir / 'icons'
# Install desktop file
install_data(
'data' / app_id + '.desktop',
install_dir: datadir / 'applications',
)
# Install AppStream metainfo
install_data(
'data' / app_id + '.metainfo.xml',
install_dir: datadir / 'metainfo',
)
# Compile and install GSettings schema
install_data(
'data' / app_id + '.gschema.xml',
install_dir: datadir / 'glib-2.0' / 'schemas',
)
gnome.post_install(glib_compile_schemas: true)
# Build the Rust binary via Cargo
cargo = find_program('cargo')
cargo_build_type = get_option('buildtype') == 'release' ? '--release' : ''
custom_target(
'driftwood-binary',
output: 'driftwood',
command: [
cargo, 'build',
cargo_build_type,
'--manifest-path', meson.project_source_root() / 'Cargo.toml',
'--target-dir', meson.project_build_root() / 'cargo-target',
],
env: {
'LOCALEDIR': localedir,
'GSETTINGS_SCHEMA_DIR': datadir / 'glib-2.0' / 'schemas',
},
build_by_default: true,
install: false,
)
# Install the binary (from the cargo output directory)
cargo_profile = get_option('buildtype') == 'release' ? 'release' : 'debug'
install_data(
meson.project_build_root() / 'cargo-target' / cargo_profile / 'driftwood',
install_dir: bindir,
install_mode: 'rwxr-xr-x',
)
# Translations
subdir('po')