1project(
2  'gnome-screenshot',
3  'c',
4  version: '41.0',
5  license: 'GPLv2+',
6  meson_version: '>= 0.50.0',
7  default_options: [
8    'buildtype=debugoptimized',
9    'warning_level=1',
10    'c_std=c99',
11  ]
12)
13
14add_project_arguments([
15  '-D_POSIX_C_SOURCE=200809L',
16  '-D_XOPEN_SOURCE=700',
17  '-D_DEFAULT_SOURCE'
18], language: 'c')
19
20cc = meson.get_compiler('c')
21
22gnome_screenshot_prefix = get_option('prefix')
23gnome_screenshot_bindir = join_paths(gnome_screenshot_prefix, get_option('bindir'))
24gnome_screenshot_datadir = join_paths(gnome_screenshot_prefix, get_option('datadir'))
25gnome_screenshot_libexecdir = join_paths(gnome_screenshot_prefix, get_option('libexecdir'))
26gnome_screenshot_localedir = join_paths(gnome_screenshot_datadir, 'locale')
27gnome_screenshot_appsdir = join_paths(gnome_screenshot_datadir, 'applications')
28gnome_screenshot_appdatadir = join_paths(gnome_screenshot_datadir, 'metainfo')
29gnome_screenshot_servicesdir = join_paths(gnome_screenshot_datadir, 'dbus-1', 'services')
30gnome_screenshot_schemadir = join_paths(gnome_screenshot_datadir, 'glib-2.0', 'schemas')
31
32glib_req_version = '>= 2.35.1'
33gtk_req_version = '>= 3.12.0'
34libhandy_req_version = '>= 0.90.0'
35
36mathlib_dep = cc.find_library('m', required: false)
37x11_dep = dependency('x11', required: get_option ('x11'))
38xext_dep = dependency('xext', required: get_option ('x11'))
39glib_dep = dependency('glib-2.0', version: glib_req_version)
40gtk_dep = dependency('gtk+-3.0', version: gtk_req_version)
41libhandy_dep = dependency('libhandy-1', version: libhandy_req_version)
42
43config_h = configuration_data()
44config_h.set_quoted('VERSION', meson.project_version())
45config_h.set_quoted('GETTEXT_PACKAGE', meson.project_name())
46
47has_x11 = x11_dep.found() and xext_dep.found()
48if has_x11
49  config_h.set('HAVE_X11', 1)
50
51  if cc.has_header('X11/extensions/shape.h')
52    config_h.set('HAVE_X11_EXTENSIONS_SHAPE_H', 1)
53  endif
54endif
55
56configure_file(output: 'config.h', configuration: config_h)
57
58root_inc = include_directories('.')
59
60i18n = import('i18n')
61
62subdir('data')
63subdir('src')
64subdir('po')
65
66meson.add_install_script('build-aux/postinstall.py')
67