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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
headers = [
'gxps.h',
'gxps-core-properties.h',
'gxps-document.h',
'gxps-document-structure.h',
'gxps-error.h',
'gxps-file.h',
'gxps-links.h',
'gxps-page.h',
]
private_headers = [
'gxps-archive.h',
'gxps-brush.h',
'gxps-color.h',
'gxps-debug.h',
'gxps-fonts.h',
'gxps-glyphs.h',
'gxps-images.h',
'gxps-matrix.h',
'gxps-page-private.h',
'gxps-parse-utils.h',
'gxps-path.h',
'gxps-private.h',
'gxps-resources.h',
]
introspection_sources = [
'gxps-brush.c',
'gxps-color.c',
'gxps-core-properties.c',
'gxps-debug.c',
'gxps-document.c',
'gxps-document-structure.c',
'gxps-error.c',
'gxps-file.c',
'gxps-glyphs.c',
'gxps-links.c',
'gxps-matrix.c',
'gxps-page.c',
'gxps-path.c',
]
sources = [
'gxps-archive.c',
'gxps-fonts.c',
'gxps-images.c',
'gxps-parse-utils.c',
'gxps-resources.c',
]
sources += introspection_sources
version_data = configuration_data()
version_data.set('GXPS_MAJOR_VERSION', gxps_major_version)
version_data.set('GXPS_MINOR_VERSION', gxps_minor_version)
version_data.set('GXPS_MICRO_VERSION', gxps_micro_version)
version_data.set('PACKAGE_VERSION', meson.project_version())
gxps_version_h = configure_file(input: 'gxps-version.h.in',
output: 'gxps-version.h',
install_dir: gxps_headers_installdir,
install: true,
configuration: version_data)
install_headers(headers, subdir: 'libgxps')
gxps_deps = [ glib_dep, gobject_dep, gio_dep, cairo_dep, cairo_pdf_dep, cairo_ps_dep, cairo_svg_dep, archive_dep, freetype_dep, png_dep, lcms2_dep, jpeg_dep, tiff_dep, libm_dep ]
common_ldflags = []
if host_system == 'linux'
common_ldflags = [ '-Wl,-Bsymbolic' ]
endif
gxps = shared_library('gxps',
include_directories: core_inc,
sources: sources + headers + private_headers + [ gxps_version_h ],
soversion: soversion,
version: libversion,
install: true,
dependencies: gxps_deps,
c_args: extra_args + common_flags + [
'-DG_LOG_DOMAIN="GXPS"',
'-DGXPS_COMPILATION',
],
link_args: common_ldflags)
# Internal dependency, for tests
gxps_inc = include_directories([ '.' ])
gxps_dep = declare_dependency(link_with: gxps,
include_directories: [ gxps_inc, core_inc ],
dependencies: gxps_deps)
# Generate the pkg-config file
pkgg = import('pkgconfig')
pkgg.generate(libraries: gxps,
version: gxps_version,
name: 'libgxps',
description: 'XPS Documents library',
requires: 'gobject-2.0 >= ' + glib_req + ', gio-2.0 >= ' + glib_req + ', libarchive >= ' + archive_req + ', cairo >= ' + cairo_req)
if build_gir
gir_extra_args = [
'--identifier-prefix=GXPS',
'--c-include=gxps.h'
]
gnome.generate_gir(gxps,
sources: introspection_sources + headers + [ gxps_version_h ],
namespace: 'GXPS',
nsversion: apiversion,
identifier_prefix: 'Gxps',
symbol_prefix: 'gxps',
includes: [ 'GObject-2.0', 'GLib-2.0', 'Gio-2.0', 'cairo-1.0' ],
install: true,
extra_args: gir_extra_args + [
'-DGXPS_COMPILATION',
])
endif
|