1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
pixbufloader_sources = files(
'Cargo.toml',
'src/lib.rs',
)
prefix = get_option('prefix')
pixbufloader = custom_target(
'pixbufloader-svg',
build_by_default: true,
output: ['@0@pixbufloader_svg.@1@'.format(cargo_dylib_prefix, ext_dynamic)],
console: true,
install: true,
install_dir: pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_moduledir', pkgconfig_define: ['prefix', prefix]),
depends: librsvg_rust_dep,
depend_files: pixbufloader_sources,
env: extra_env,
command: [
cargo_wrapper,
cargo_wrapper_args,
'--command=build',
'--current-build-dir', '@OUTDIR@',
'--current-source-dir', meson.current_source_dir(),
'--packages', 'pixbufloader-svg',
'--extension', ext_dynamic
]
)
pixbuf_thumbnailer = configure_file(
input: 'librsvg.thumbnailer.in',
output: 'librsvg.thumbnailer',
configuration: {
'bindir': get_option('prefix') / get_option('bindir')
},
install: true,
install_dir: get_option('datadir') / 'thumbnailers'
)
if meson.can_run_host_binaries()
gdk_pixbuf_query_loaders = find_program(pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_query_loaders', default_value: 'gdk-pixbuf-query-loaders'))
endif
pixbufloader_svg_install_args = [
'--gdk-pixbuf-moduledir',
pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_moduledir', pkgconfig_define: ['prefix', prefix]),
pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_query_loaders', pkgconfig_define: ['prefix', prefix]),
pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_cache_file', pkgconfig_define: ['prefix', prefix])
]
# Tell people to run gdk-pixbuf-query-loaders manually for cross builds
if not meson.can_run_host_binaries()
pixbufloader_svg_install_args += '--show-cross-message'
endif
meson.add_install_script(
find_program('meson_install.py', native: true),
pixbufloader_svg_install_args
)
if build_tests
test(
'Rust tests (pixbufloader-svg)',
cargo_wrapper,
timeout: -1, # no timeout
args: [
cargo_wrapper_args,
'--current-build-dir', meson.current_build_dir(),
'--command=test',
'--current-source-dir', meson.current_source_dir(),
'--packages', 'pixbufloader-svg',
],
env: extra_env,
depends: pixbufloader
)
endif
|