65 lines
2.1 KiB
Meson
65 lines
2.1 KiB
Meson
project('fastiv', 'c',
|
|
default_options : ['c_std=gnu99', 'warning_level=2'],
|
|
version : '0.1.0')
|
|
add_project_arguments(
|
|
meson.get_compiler('c').get_supported_arguments('-Wno-cast-function-type'),
|
|
language : 'c',
|
|
)
|
|
|
|
# TODO(p): Use libraw_r later, when we start parallelizing/preloading.
|
|
libraw = dependency('libraw', required : get_option('libraw'))
|
|
librsvg = dependency('librsvg-2.0', required : get_option('librsvg'))
|
|
xcursor = dependency('xcursor', required : get_option('xcursor'))
|
|
gdkpixbuf = dependency('gdk-pixbuf-2.0', required : get_option('gdk-pixbuf'))
|
|
dependencies = [
|
|
dependency('gtk+-3.0'),
|
|
dependency('libturbojpeg'),
|
|
dependency('spng', version : '>=0.7.0',
|
|
default_options: 'default_library=static'),
|
|
dependency('pixman-1'),
|
|
libraw,
|
|
librsvg,
|
|
xcursor,
|
|
gdkpixbuf,
|
|
meson.get_compiler('c').find_library('m', required : false),
|
|
]
|
|
|
|
conf = configuration_data()
|
|
conf.set_quoted('PROJECT_NAME', meson.project_name())
|
|
conf.set_quoted('PROJECT_VERSION', meson.project_version())
|
|
conf.set('HAVE_LIBRAW', libraw.found())
|
|
conf.set('HAVE_LIBRSVG', librsvg.found())
|
|
conf.set('HAVE_XCURSOR', xcursor.found())
|
|
conf.set('HAVE_GDKPIXBUF', gdkpixbuf.found())
|
|
configure_file(
|
|
output : 'config.h',
|
|
configuration : conf,
|
|
)
|
|
|
|
exe = executable('fastiv', 'fastiv.c', 'fastiv-view.c', 'fastiv-io.c',
|
|
'fastiv-browser.c', 'fastiv-sidebar.c', 'xdg.c',
|
|
install : true,
|
|
dependencies : [dependencies])
|
|
|
|
if gdkpixbuf.found()
|
|
executable('io-benchmark', 'fastiv-io-benchmark.c', 'fastiv-io.c', 'xdg.c',
|
|
build_by_default : false,
|
|
dependencies : [dependencies, gdkpixbuf])
|
|
endif
|
|
|
|
install_data('fastiv.desktop',
|
|
install_dir : get_option('datadir') + '/applications')
|
|
install_data('fastiv.svg',
|
|
install_dir : get_option('datadir') + '/icons/hicolor/scalable/apps')
|
|
|
|
# TODO(p): Replace this with custom_target().
|
|
if not meson.is_cross_build()
|
|
meson.add_install_script(
|
|
'sh', '-c', '''sed -i "/^MimeType=/{c \\
|
|
MimeType=$($1 --list-supported-media-types | tr "\\012" ";")
|
|
}" "$MESON_INSTALL_DESTDIR_PREFIX/$2"''',
|
|
'sh',
|
|
exe.full_path(),
|
|
get_option('datadir') + '/applications/fastiv.desktop')
|
|
endif
|