project('appstream-glib', 'c', version : '0.7.3', license : 'LGPL-2.1+', default_options : ['warning_level=1', 'c_std=c99'], meson_version : '>=0.37.0' ) as_version = meson.project_version() varr = as_version.split('.') as_major_version = varr[0] as_minor_version = varr[1] as_micro_version = varr[2] conf = configuration_data() conf.set('AS_MAJOR_VERSION_CONF', as_major_version) conf.set('AS_MINOR_VERSION_CONF', as_minor_version) conf.set('AS_MICRO_VERSION_CONF', as_micro_version) conf.set_quoted('PACKAGE_VERSION', as_version) # this refers to the plugin API version # this is not in any way related to a package or soname version as_plugin_version = '5' # libtool versioning - this applies to libpackagekit # # See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details # # - If interfaces have been changed or added, but binary compatibility # has been preserved, change: # CURRENT += 1 # REVISION = 0 # AGE += 1 # - If binary compatibility has been broken (eg removed or changed # interfaces), change: # CURRENT += 1 # REVISION = 0 # AGE = 0 # - If the interface is the same as the previous version, but bugs are # fixed, change: # REVISION += 1 lt_current = '8' lt_revision = '10' lt_age = '0' lt_version = '@0@.@1@.@2@'.format(lt_current, lt_age, lt_revision) # set plugindir for builder plugindir = join_paths(get_option('prefix'), get_option('libdir'), 'asb-plugins-' + as_plugin_version) glib_ver = '>= 2.45.8' uuid = dependency('uuid') glib = dependency('glib-2.0', version : glib_ver) gmodule = dependency('gmodule-2.0', version : glib_ver) giounix = dependency('gio-unix-2.0', version : glib_ver) libarchive = dependency('libarchive') soup = dependency('libsoup-2.4', version : '>= 2.51.92') json_glib = dependency('json-glib-1.0') gdkpixbuf = dependency('gdk-pixbuf-2.0', version : '>= 2.31.5') libgcab = dependency('libgcab-1.0', required : false) if libgcab.found() conf.set('HAVE_GCAB', 1) endif # builder (default enabled) if get_option('enable-builder') gtk = dependency('gtk+-3.0') gmodule = dependency('gmodule-2.0') gcab = find_program('gcab') if get_option('enable-rpm') rpm = dependency('rpm') conf.set('HAVE_RPM', 1) endif if get_option('enable-alpm') alpm = dependency('libalpm') conf.set('HAVE_ALPM', 1) endif if get_option('enable-fonts') gdk = dependency('gdk-3.0') conf.set('HAVE_FONTS', 1) freetype = dependency('freetype2', version : '>= 9.10.0') fontconfig = dependency('fontconfig') endif endif # support loading yaml files if get_option('enable-dep11') yaml = dependency('yaml-0.1') conf.set('AS_BUILD_DEP11', 1) endif # support stemming of search tokens if get_option('enable-stemmer') cc = meson.get_compiler('c') stemmer = cc.find_library('stemmer') conf.set('HAVE_LIBSTEMMER', 1) endif # use gperf for faster string -> enum matching gperf = find_program('gperf', required : true) gnome = import('gnome') i18n = import('i18n') conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) conf.set_quoted('LOCALEDIR', get_option('localedir')) conf.set_quoted('LOCALSTATEDIR', get_option('localstatedir')) configure_file( output : 'config.h', configuration : conf ) add_global_arguments('-DAS_COMPILATION', language : 'c') # Needed for realpath() add_project_arguments('-D_XOPEN_SOURCE=500', language : 'c') subdir('libappstream-glib') subdir('data') subdir('docs') subdir('po') if get_option('enable-builder') # depends on data subdir('libappstream-builder') endif # depends on libappstream-builder subdir('client') if meson.version().version_compare('<0.41.0') archiver = find_program('git', required : false) if archiver.found() run_target('dist', # git config tar.tar.xz.command "xz -c" command: [ 'git', 'archive', '--prefix=' + meson.project_name() + '-' + meson.project_version() + '/', 'HEAD', '--format=tar.xz', '--output', meson.project_name() + '-' + meson.project_version() + '.tar.xz' ] ) else message('git not found, you will not be able to run `ninja dist`') endif endif