Blob Blame History Raw
project(
  'gnome-characters', 'c',
  version: '3.28.2',
  license: 'BSD3',
  default_options: 'buildtype=debugoptimized',
  meson_version: '>= 0.42.0'
)

characters_name = 'org.gnome.Characters'
characters_background_name = characters_name + '.BackgroundService'

characters_version = meson.project_version()

characters_prefix = get_option('prefix')
characters_bindir = join_paths(characters_prefix, get_option('bindir'))
characters_datadir = join_paths(characters_prefix, get_option('datadir'))
characters_libdir = join_paths(characters_prefix, get_option('libdir'))
characters_libexecdir = join_paths(characters_prefix, get_option('libexecdir'))

characters_pkgdatadir = join_paths(characters_datadir, characters_name)
characters_pkglibdir = join_paths(characters_libdir, characters_name)

characters_gir_version = '1.0'
characters_ns = 'Gc'

cc = meson.get_compiler('c')

# *** Check for dbus service dir ***
dbus_service_dir = get_option('dbus_service_dir')
if dbus_service_dir == ''
  dbus_dep = dependency('dbus-1', required: false)
  assert(dbus_dep.found(), 'dbus-1 required but not found, please provide a valid D-Bus service dir')
  dbus_service_dir = dbus_dep.get_pkgconfig_variable('session_bus_services_dir')
endif

libunistring_src = '''
  #include <uniconv.h>
  int main() {
      u8_strconv_from_locale((char*)0);
  };
'''

# FIXME: libunistring doesn't have pkgconfig support
assert(cc.links(libunistring_src, name: 'libunistring support', args: '-lunistring'), 'libunistring is required but not found')

# Just check that gjs-1.0 is present and recent enough
dependency('gjs-1.0', version: '>= 1.43.3')

libgc_deps = [
  dependency('gio-2.0'),
  dependency('gtk+-3.0'),
  dependency('pango'),
  declare_dependency(link_args: '-lunistring')
]

if get_option('pangoft2')
  libgc_deps += dependency('pangoft2')
endif

gnome = import('gnome')
i18n = import('i18n')

po_dir = join_paths(meson.source_root(), 'po')

top_inc = include_directories('.')

subdir('po')
subdir('data')
# FIXME: local gnulib library is not built
#subdir('gllib')
subdir('lib')
subdir('src')

if get_option('installed_tests')
  subdir('tests')
endif

configure_file(
  output: 'config.h',
  configuration: configuration_data()
)

meson.add_install_script(
  'meson_post_install.py',
  characters_datadir,
  characters_bindir
)