78 lines
2.2 KiB
Meson
78 lines
2.2 KiB
Meson
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')).path()
|
|
else
|
|
gdk_pixbuf_query_loaders = pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_query_loaders', pkgconfig_define: ['prefix', prefix])
|
|
endif
|
|
|
|
pixbufloader_svg_install_args = [
|
|
'--gdk-pixbuf-moduledir',
|
|
pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_moduledir', pkgconfig_define: ['prefix', prefix]),
|
|
gdk_pixbuf_query_loaders,
|
|
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
|