From faf2001f46509a7434fc10ee848ce1ce84255dcd Mon Sep 17 00:00:00 2001 From: Manatsawin Hanmongkolchai Date: Mon, 14 Nov 2022 23:00:54 +0700 Subject: Add enum and thumbnailer build --- data/meson.build | 13 +++++++++++++ meson.build | 9 +++++++-- src/meson.build | 29 +++++++++++++++++------------ thumbnailer/meson.build | 15 +++++++++++++++ 4 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 thumbnailer/meson.build diff --git a/data/meson.build b/data/meson.build index 468fa88..4dbd1e6 100644 --- a/data/meson.build +++ b/data/meson.build @@ -37,6 +37,19 @@ gsettings_schema = configure_file(input: 'org.mate.eom.gschema.xml.in', configur install_data(gsettings_schema, install_dir: schemadir) gnome.post_install(glib_compile_schemas: true) +gnome.mkenums( + 'org.mate.eom.enums.xml', + comments: '', + sources: enum_headers, + fhead: '', + vhead: ''' <@type@ id='org.mate.eom.@EnumName@'>''', + vprod: ''' ''', + vtail: ' ', + ftail: '', + install_header: true, + install_dir: schemadir +) + eom_pc = configure_file(input: 'eom.pc.in', configuration: pkg_info, output: 'eom.pc') install_data(eom_pc, install_dir: libdir / 'pkgconfig') diff --git a/meson.build b/meson.build index 0ec3e50..237ea0e 100644 --- a/meson.build +++ b/meson.build @@ -131,7 +131,7 @@ endif if get_option('thumbnailer') if get_option('gdk-pixbuf-thumbnailer') - eom_thumbnailer = find_program('gdk-pixbuf-thumbnailer') + eom_thumbnailer = find_program('gdk-pixbuf-thumbnailer').full_path() else magick = dependency('MagickWand', version : '>= 6.2.6') if magick.version().version_compare('>= 7') @@ -139,11 +139,12 @@ if get_option('thumbnailer') else conf.set('HAVE_IMAGEMAGICK6', 1) endif - #all_deps += [magick] eom_thumbnailer = 'eom-thumbnailer' endif endif +pkg_info.set('EOM_THUMBNAILER', eom_thumbnailer) + # XMP support if xmp.found() conf.set('HAVE_EXEMPI', 1) @@ -204,4 +205,8 @@ subdir('help') subdir('data') subdir('doc') +if get_option('thumbnailer') + subdir('thumbnailer') +endif + # TODO: Changelog diff --git a/src/meson.build b/src/meson.build index 8c81e39..fe8522b 100644 --- a/src/meson.build +++ b/src/meson.build @@ -7,7 +7,7 @@ resources = gnome.compile_resources( marshal = gnome.genmarshal('eom-marshal', sources: ['eom-marshal.list'], prefix: 'eom_marshal') -inst_headers = [ +inst_headers = files( 'eom-application.h', 'eom-application-activatable.h', 'eom-debug.h', @@ -30,9 +30,9 @@ inst_headers = [ 'eom-job-queue.h', 'eom-clipboard-handler.h', 'eom-jobs.h', -] +) -noinst_headers = [ +noinst_headers = files( 'eom-application-internal.h', 'eom-session.h', 'eom-util.h', @@ -53,11 +53,16 @@ noinst_headers = [ 'eom-plugin-engine.h', 'eom-close-confirmation-dialog.h', 'zoom.h', -] +) enum = gnome.mkenums('eom-enum-types', c_template: 'eom-enum-types.c.template', h_template: 'eom-enum-types.h.template', sources: inst_headers) -c_sources = [ +enum_headers = files( + 'eom-scroll-view.h', + 'eom-window.h', +) + +c_sources = files( 'eom-application.c', 'eom-application-activatable.c', 'eom-session.c', @@ -96,7 +101,7 @@ c_sources = [ 'eom-plugin-engine.c', 'eom-clipboard-handler.c', 'zoom.c', -] +) libeom_src = [ c_sources, @@ -108,17 +113,17 @@ libeom_src = [ ] if exif.found() - inst_headers += ['eom-exif-util.h'] - noinst_headers += ['eom-metadata-details.h'] - libeom_src += [ + inst_headers += files('eom-exif-util.h') + noinst_headers += files('eom-metadata-details.h') + libeom_src += files( 'eom-metadata-details.c', 'eom-exif-util.c', - ] + ) endif if xmp.found() - noinst_headers += ['eom-metadata-details.h'] - libeom_src += ['eom-metadata-details.c'] + noinst_headers += files('eom-metadata-details.h') + libeom_src += files('eom-metadata-details.c') endif cflags = [ diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build new file mode 100644 index 0000000..ac4b412 --- /dev/null +++ b/thumbnailer/meson.build @@ -0,0 +1,15 @@ +if not get_option('gdk-pixbuf-thumbnailer') + thumbnailer = executable( + 'eom-thumbnailer', + sources: [ + 'eom-thumbnailer.c', + ], + dependencies: [all_deps, magick], + include_directories: top_inc, + install: true, + ) +endif + +thumbnailerdir = datadir / 'thumbnailers' +thumbnailerfile = configure_file(input: 'eom-thumbnailer.thumbnailer.in', configuration: pkg_info, output: 'eom-thumbnailer.thumbnailer') +install_data(thumbnailerfile, install_dir: thumbnailerdir) -- cgit v1.2.1