pkgg = import('pkgconfig') cargs = [ '-DG_LOG_DOMAIN="As"', ] deps = [ gdkpixbuf, glib, libarchive, soup, ] if platform_win32 deps += [giowindows] elif platform_osx deps += [giounix] else deps += [giounix, uuid] endif if get_option('dep11') deps += yaml endif if get_option('rpm') deps += rpm endif if get_option('stemmer') deps += stemmer endif asresources = gnome.compile_resources( 'as-resources', 'appstream-glib.gresource.xml', c_name : 'as' ) configure_file( input : 'as-version.h.in', output : 'as-version.h', install_dir : join_paths(get_option('includedir'), 'libappstream-glib'), configuration : conf ) headers = [ 'appstream-glib.h', 'as-app-builder.h', 'as-app.h', 'as-bundle.h', 'as-checksum.h', 'as-content-rating.h', 'as-enums.h', 'as-format.h', 'as-icon.h', 'as-image.h', 'as-launchable.h', 'as-inf.h', 'as-markup.h', 'as-monitor.h', 'as-node.h', 'as-agreement.h', 'as-agreement-section.h', 'as-problem.h', 'as-profile.h', 'as-provide.h', 'as-release.h', 'as-require.h', 'as-review.h', 'as-screenshot.h', 'as-store.h', 'as-suggest.h', 'as-tag.h', 'as-translation.h', 'as-utils.h', ] sources = [ 'as-app-builder.c', 'as-app.c', 'as-app-desktop.c', 'as-app-inf.c', 'as-app-validate.c', 'as-bundle.c', 'as-bundle.c', 'as-checksum.c', 'as-content-rating.c', 'as-enums.c', 'as-format.c', 'as-icon.c', 'as-image.c', 'as-inf.c', 'as-launchable.c', 'as-markup.c', 'as-monitor.c', 'as-monitor.c', 'as-node.c', 'as-agreement.c', 'as-agreement-section.c', 'as-problem.c', 'as-profile.c', 'as-provide.c', 'as-ref-string.c', 'as-release.c', 'as-require.c', 'as-review.c', 'as-screenshot.c', 'as-stemmer.c', 'as-store.c', 'as-store-cab.c', 'as-suggest.c', 'as-tag.c', 'as-translation.c', 'as-utils.c', 'as-version.c', 'as-yaml.c', asresources, ] # gperf sources astagpriv = custom_target( 'gperf as-tag', output : 'as-tag-private.h', input : 'as-tag.gperf', command : [ gperf, '@INPUT@', '--output-file', '@OUTPUT@' ] ) sources = sources + [astagpriv] install_headers(headers, subdir : 'libappstream-glib') mapfile = 'appstream-glib.map' if platform_osx mapfile = 'appstream-glib.map.osx-clang' vflag = '-Wl,-exported_symbols_list,@0@/@1@'.format(meson.current_source_dir(), mapfile) else vflag = cc.get_supported_link_arguments([ '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile), ]) endif asglib = shared_library( 'appstream-glib', sources, soversion : lt_current, version : lt_version, dependencies : deps, c_args : cargs, include_directories : include_directories('..'), link_args : vflag, link_depends : mapfile, install : true, ) asglib_incdir = include_directories('.') pkg_req_private = [ 'libarchive' ] if not platform_win32 pkg_req_private += ['uuid'] endif pkgg.generate( version : as_version, libraries : asglib, requires : [ 'glib-2.0', 'gobject-2.0', 'gdk-pixbuf-2.0', ], requires_private : pkg_req_private, name : 'appstream-glib', description : 'Objects and helper methods to help reading and writing AppStream metadata', filebase : 'appstream-glib', subdirs : 'libappstream-glib', ) selftest = executable( 'as-self-test', 'as-self-test.c', include_directories : include_directories('..'), dependencies : deps, c_args : cargs + ['-DTESTDIRSRC="@0@/../data/tests"'.format(meson.current_source_dir())] + ['-DTESTDIRBUILD="@0@/../data/tests"'.format(meson.current_build_dir())], link_with : asglib, ) test('as-self-test', selftest) introspection_sources = [ 'as-app.c', 'as-app.h', 'as-app-validate.c', 'as-bundle.c', 'as-bundle.h', 'as-checksum.c', 'as-checksum.h', 'as-content-rating.c', 'as-content-rating.h', 'as-enums.c', 'as-enums.h', 'as-format.c', 'as-format.h', 'as-icon.c', 'as-icon.h', 'as-image.c', 'as-image.h', 'as-inf.c', 'as-inf.h', 'as-launchable.c', 'as-launchable.h', 'as-markup.c', 'as-markup.h', 'as-node.c', 'as-node.h', 'as-agreement.c', 'as-agreement.h', 'as-agreement-section.c', 'as-agreement-section.h', 'as-problem.c', 'as-problem.h', 'as-provide.c', 'as-provide.h', 'as-release.c', 'as-release.h', 'as-require.c', 'as-require.h', 'as-review.c', 'as-review.h', 'as-screenshot.c', 'as-screenshot.h', 'as-store.c', 'as-store.h', 'as-suggest.c', 'as-suggest.h', 'as-tag.c', 'as-tag.h', 'as-translation.c', 'as-translation.h', 'as-utils.c', 'as-utils.h', 'as-version.c', ] if get_option('introspection') asglib_gir = gnome.generate_gir(asglib, sources : introspection_sources, nsversion : '1.0', namespace : 'AppStreamGlib', symbol_prefix : 'as_', identifier_prefix : 'As', export_packages : 'appstream-glib', dependencies : deps, includes : [ 'GObject-2.0', 'Gio-2.0', 'GdkPixbuf-2.0' ], extra_args : [ '-DAS_COMPILATION', ], link_with : asglib, install : true, ) endif