Replace all hard-coded /etc path with sysconfdir
[dconf.git] / meson.build
blobba14507fbe171d969c4f94b2d322c0a7e7f34b67
1 project(
2   'dconf', ['c', 'vala'],
3   version: '0.29.2',
4   license: 'LGPL2.1+',
5   meson_version: '>= 0.46.0',
8 dconf_prefix = get_option('prefix')
9 dconf_datadir = join_paths(dconf_prefix, get_option('datadir'))
10 dconf_libdir = join_paths(dconf_prefix, get_option('libdir'))
11 dconf_libexecdir = join_paths(dconf_prefix, get_option('libexecdir'))
12 dconf_mandir = join_paths(dconf_prefix, get_option('mandir'))
13 dconf_sysconfdir = join_paths(dconf_prefix, get_option('sysconfdir'))
15 dconf_namespace = 'ca.desrt.dconf'
17 soversion = 1
18 current = 0
19 revision = 0
20 libversion = '@0@.@1@.@2@'.format(soversion, current, revision)
22 cc = meson.get_compiler('c')
23 valac = meson.get_compiler('vala')
25 # compiler flags
26 common_flags = ['-DSYSCONFDIR="@0@"'.format(dconf_sysconfdir)]
28 if get_option('buildtype').contains('debug')
29   common_flags += cc.get_supported_arguments([
30     '-fno-common',
31     '-Wmissing-prototypes',
32     '-Wwrite-strings',
33   ])
34 endif
36 add_project_arguments(common_flags, language: 'c')
38 gio_req_version = '>= 2.25.7'
40 gio_dep = dependency('gio-2.0', version: gio_req_version)
41 gio_unix_dep = dependency('gio-unix-2.0', version: gio_req_version)
42 glib_dep = dependency('glib-2.0', version: '>= 2.44.0')
44 gio_module_dir = gio_dep.get_pkgconfig_variable('giomoduledir', define_variable: ['libdir', dconf_libdir])
45 dbus_session_service_dir = dependency('dbus-1').get_pkgconfig_variable('session_bus_services_dir', define_variable: ['datadir', dconf_datadir])
46 vapi_dir = dependency('vapigen').get_pkgconfig_variable('vapidir', define_variable: ['datadir', dconf_datadir])
48 enable_bash_completion = get_option('bash_completion')
49 if enable_bash_completion
50   # FIXME: the `.pc` file is wrong because `completionsdir` should be relative to `datadir`, not `prefix`
51   completions_dir = dependency('bash-completion').get_pkgconfig_variable('completionsdir', define_variable: ['prefix', dconf_prefix])
52 endif
54 configure_file(
55   output: 'config.h',
56   configuration: configuration_data(),
59 test_env = [
60   'G_DEBUG=gc-friendly,fatal-warnings',
61   'MALLOC_CHECK_=2',
62   'LC_ALL=C.UTF-8',
65 gnome = import('gnome')
66 pkg = import('pkgconfig')
68 top_inc = include_directories('.')
70 subdir('shm')
71 subdir('gvdb')
72 subdir('common')
73 subdir('engine')
74 subdir('service')
75 subdir('gdbus')
76 subdir('gsettings')
77 subdir('client')
78 subdir('bin')
79 subdir('docs')
80 subdir('tests')
82 meson.add_install_script('meson_post_install.py', gio_module_dir)