You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.7 KiB
107 lines
3.7 KiB
project( |
|
'fractal', 'rust', |
|
version: '4.0.0', |
|
license: 'GPLv3', |
|
) |
|
|
|
dependency('openssl', version: '>= 1.0') |
|
dependency('dbus-1') |
|
dependency('libsecret-1') |
|
|
|
dependency('glib-2.0', version: '>= 2.56') |
|
dependency('gio-2.0', version: '>= 2.56') |
|
dependency('cairo', version: '>= 1.16') |
|
dependency('gdk-pixbuf-2.0') |
|
dependency('gtk+-3.0', version: '>= 3.22') |
|
dependency('libhandy-0.0', version: '>= 0.0.5') |
|
dependency('gtksourceview-3.0', version: '>= 3.22') |
|
|
|
dependency('gstreamer-1.0', version: '>= 1.12') |
|
dependency('gstreamer-base-1.0', version: '>= 1.12') |
|
dependency('gstreamer-audio-1.0', version: '>= 1.12') |
|
dependency('gstreamer-video-1.0', version: '>= 1.12') |
|
dependency('gstreamer-player-1.0', version: '>= 1.12') |
|
dependency('gstreamer-plugins-base-1.0', version: '>= 1.12') |
|
dependency('gstreamer-plugins-bad-1.0', version: '>= 1.12') |
|
dependency('gstreamer-bad-audio-1.0', version: '>= 1.12') |
|
dependency('gstreamer-bad-video-1.0', version: '>= 1.12') |
|
|
|
cargo = find_program('cargo', required: true) |
|
gresource = find_program('glib-compile-resources', required: true) |
|
gschemas = find_program('glib-compile-schemas', required: true) |
|
cargo_vendor = find_program('cargo-vendor', required: false) |
|
|
|
if get_option('profile') == 'development' |
|
profile = 'Devel' |
|
name_suffix = ' (Development)' |
|
vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip() |
|
if vcs_tag == '' |
|
version_suffix = '-devel' |
|
else |
|
version_suffix = '-@0@'.format (vcs_tag) |
|
endif |
|
else |
|
profile = '' |
|
name_suffix = '' |
|
version_suffix = '' |
|
endif |
|
|
|
application_id = 'org.gnome.Fractal@0@'.format(profile) |
|
|
|
fractal_version = meson.project_version() |
|
version_array = fractal_version.split('.') |
|
fractal_major_version = version_array[0].to_int() |
|
fractal_minor_version = version_array[1].to_int() |
|
fractal_version_micro = version_array[2].to_int() |
|
|
|
fractal_prefix = get_option('prefix') |
|
fractal_bindir = join_paths(fractal_prefix, get_option('bindir')) |
|
fractal_localedir = join_paths(fractal_prefix, get_option('localedir')) |
|
|
|
datadir = get_option('datadir') |
|
|
|
i18n = import('i18n') |
|
|
|
podir = join_paths (meson.source_root (), 'fractal-gtk', 'po') |
|
|
|
subdir('fractal-gtk/po') |
|
subdir('fractal-gtk/res') |
|
|
|
cargo = find_program('cargo', required: false) |
|
gresource = find_program('glib-compile-resources', required: false) |
|
cargo_vendor = find_program('cargo-vendor', required: false) |
|
cargo_script = find_program('scripts/cargo.sh') |
|
grabber = find_program('scripts/grabber.sh') |
|
cargo_release = find_program('scripts/release.sh') |
|
|
|
c = run_command(grabber) |
|
sources = c.stdout().strip().split('\n') |
|
|
|
cargo_release = custom_target('cargo-build', |
|
build_by_default: true, |
|
input: sources, |
|
output: ['fractal'], |
|
install: true, |
|
install_dir: fractal_bindir, |
|
console: true, |
|
command: [cargo_script, |
|
'@CURRENT_SOURCE_DIR@', |
|
'@OUTPUT@', |
|
fractal_localedir, |
|
application_id, |
|
name_suffix, |
|
fractal_version + version_suffix, |
|
profile |
|
]) |
|
|
|
run_target('release', command: ['scripts/release.sh', |
|
meson.project_name() + '-' + fractal_version |
|
]) |
|
|
|
if get_option('profile') == 'development' |
|
# Setup pre-commit hook for ensuring coding style is always consistent |
|
message('Setting up git pre-commit hook..') |
|
run_command('cp', '-f', 'hooks/pre-commit.hook', '.git/hooks/pre-commit') |
|
endif |
|
|
|
meson.add_install_script('scripts/meson_post_install.py')
|
|
|