meson.build (1914B)
1 project( 2 'heic2jpg', 3 'rust', 4 version: '0.1.0', 5 meson_version: '>= 0.59', 6 # license: 'MIT', 7 ) 8 9 i18n = import('i18n') 10 gnome = import('gnome') 11 12 base_id = 'dev.nordgedanken.heic2jpg' 13 14 dependency('glib-2.0', version: '>= 2.66') 15 dependency('gio-2.0', version: '>= 2.66') 16 dependency('gtk4', version: '>= 4.0.0') 17 18 find_program('glib-compile-resources') 19 glib_compile_schemas = find_program('glib-compile-schemas') 20 desktop_file_validate = find_program('desktop-file-validate', required: false) 21 appstreamcli = find_program('appstreamcli', required: false) 22 cargo = find_program('cargo') 23 24 version = meson.project_version() 25 26 prefix = get_option('prefix') 27 bindir = prefix / get_option('bindir') 28 localedir = prefix / get_option('localedir') 29 30 datadir = prefix / get_option('datadir') 31 pkgdatadir = datadir / meson.project_name() 32 iconsdir = datadir / 'icons' 33 podir = meson.project_source_root() / 'po' 34 gettext_package = meson.project_name() 35 36 if get_option('profile') == 'development' 37 profile = 'Devel' 38 vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD', check: false).stdout().strip() 39 if vcs_tag == '' 40 version_suffix = '-devel' 41 else 42 version_suffix = '-@0@'.format(vcs_tag) 43 endif 44 application_id = '@0@.@1@'.format(base_id, profile) 45 else 46 profile = '' 47 version_suffix = '' 48 application_id = base_id 49 endif 50 51 meson.add_dist_script( 52 'build-aux/dist-vendor.sh', 53 meson.project_build_root() / 'meson-dist' / meson.project_name() + '-' + version, 54 meson.project_source_root() 55 ) 56 57 if get_option('profile') == 'development' 58 # Setup pre-commit hook for ensuring coding style is always consistent 59 message('Setting up git pre-commit hook..') 60 run_command('cp', '-f', 'hooks/pre-commit.hook', '.git/hooks/pre-commit', check: false) 61 endif 62 63 subdir('data') 64 subdir('po') 65 subdir('src') 66 67 gnome.post_install( 68 gtk_update_icon_cache: true, 69 glib_compile_schemas: true, 70 update_desktop_database: true, 71 )