diff options
Diffstat (limited to 'libdocument/meson.build')
-rw-r--r-- | libdocument/meson.build | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/libdocument/meson.build b/libdocument/meson.build new file mode 100644 index 00000000..a8b7d387 --- /dev/null +++ b/libdocument/meson.build @@ -0,0 +1,172 @@ +libdocument_private_headers = [ + 'ev-debug.h', + 'ev-module.h' +] + +libdocument_headers = [ + 'ev-annotation.h', + 'ev-async-renderer.h', + 'ev-attachment.h', + 'ev-backends-manager.h', + 'ev-document-factory.h', + 'ev-document-annotations.h', + 'ev-document-attachments.h', + 'ev-document-find.h', + 'ev-document-fonts.h', + 'ev-document-forms.h', + 'ev-document.h', + 'ev-document-images.h', + 'ev-document-info.h', + 'ev-document-layers.h', + 'ev-document-links.h', + 'ev-document-misc.h', + 'ev-document-print.h', + 'ev-document-security.h', + 'ev-document-thumbnails.h', + 'ev-document-transition.h', + 'ev-document-text.h', + 'ev-file-exporter.h', + 'ev-file-helpers.h', + 'ev-form-field.h', + 'ev-image.h', + 'ev-init.h', + 'ev-layer.h', + 'ev-link-action.h', + 'ev-link-dest.h', + 'ev-link.h', + 'ev-macros.h', + 'ev-mapping-list.h', + 'ev-page.h', + 'ev-render-context.h', + 'ev-selection.h', + 'ev-transition-effect.h', +] + +libdocument_sources = [ + 'ev-annotation.c', + 'ev-async-renderer.c', + 'ev-attachment.c', + 'ev-backends-manager.c', + 'ev-layer.c', + 'ev-link.c', + 'ev-link-action.c', + 'ev-link-dest.c', + 'ev-image.c', + 'ev-init.c', + 'ev-document.c', + 'ev-document-annotations.c', + 'ev-document-attachments.c', + 'ev-document-factory.c', + 'ev-document-thumbnails.c', + 'ev-document-fonts.c', + 'ev-document-layers.c', + 'ev-document-links.c', + 'ev-document-images.c', + 'ev-document-print.c', + 'ev-document-security.c', + 'ev-document-find.c', + 'ev-document-transition.c', + 'ev-document-forms.c', + 'ev-document-text.c', + 'ev-form-field.c', + 'ev-debug.c', + 'ev-file-exporter.c', + 'ev-file-helpers.c', + 'ev-mapping-list.c', + 'ev-module.c', + 'ev-page.c', + 'ev-render-context.c', + 'ev-selection.c', + 'ev-transition-effect.c', + 'ev-document-misc.c', + libdocument_headers, +] + +libdoc_header_dir = join_paths(header_dir, 'libdocument') + +libdoc_include = include_directories('.') + +libdoc_enums = gnome.mkenums( + 'ev-document-type-builtins', + sources : libdocument_headers, + c_template : 'ev-document-type-builtins.c.template', + h_template : 'ev-document-type-builtins.h.template', + identifier_prefix : 'Ev', + symbol_prefix : 'ev', + install_header: true, + install_dir: join_paths(includedir, libdoc_header_dir), +) + +libdocument_sources += libdoc_enums + +libdoc_version_conf = configuration_data() +libdoc_version_conf.set('EV_MAJOR_VERSION', major_version) +libdoc_version_conf.set('EV_MINOR_VERSION', minor_version) +libdoc_version_conf.set('EV_MICRO_VERSION', micro_version) + +libdoc_version = configure_file( + input: 'ev-version.h.in', + output: 'ev-version.h', + configuration: libdoc_version_conf, + install: true, + install_dir: join_paths(includedir, libdoc_header_dir), +) + +libdocument_sources += libdoc_version + +libdocument_deps = [ + config_h, + cairo, + glib, + gmodule, + gtk, + math, +] + +libdocument = library( + 'xreaderdocument', + libdocument_private_headers + libdocument_sources, + dependencies: libdocument_deps, + include_directories: include_root, + soversion: binary_major_version, + version: binary_version, + install: true, +) + +# this is needed so targets that depend on generated headers can do so +libdocument_dep = declare_dependency( + link_with: libdocument, + dependencies: libdocument_deps, + include_directories: include_root, + sources: libdoc_enums[1] +) + +install_headers( + libdocument_headers, + subdir: libdoc_header_dir, +) + +if get_option('introspection') + introspection_includes = [ + 'Gdk-3.0', + 'GdkPixbuf-2.0', + 'Gio-2.0', + 'GLib-2.0', + 'GObject-2.0', + 'Gtk-3.0', + ] + + libdocument_gir = gnome.generate_gir( + libdocument, + namespace: 'XreaderDocument', + nsversion: api_version, + sources: libdocument_sources, + identifier_prefix: 'Ev', + symbol_prefix: 'ev', + includes: introspection_includes, + install: true, + install_dir_typelib: join_paths(libdir, 'girepository-1.0'), + install_dir_gir: join_paths(datadir, 'gir-1.0'), + export_packages: 'xreader-document-' + api_version, + ) +endif |