diff options
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..9ba40e1 --- /dev/null +++ b/meson.build @@ -0,0 +1,85 @@ +project( + 'dconf', ['c'], + version: '0.33.1', + license: 'LGPL2.1+', + meson_version: '>= 0.47.0', +) + +dconf_prefix = get_option('prefix') +dconf_datadir = join_paths(dconf_prefix, get_option('datadir')) +dconf_libdir = join_paths(dconf_prefix, get_option('libdir')) +dconf_libexecdir = join_paths(dconf_prefix, get_option('libexecdir')) +dconf_mandir = join_paths(dconf_prefix, get_option('mandir')) +dconf_sysconfdir = join_paths(dconf_prefix, get_option('sysconfdir')) + +dconf_namespace = 'ca.desrt.dconf' + +soversion = 1 +current = 0 +revision = 0 +libversion = '@0@.@1@.@2@'.format(soversion, current, revision) + +cc = meson.get_compiler('c') + +# compiler flags +common_flags = ['-DSYSCONFDIR="@0@"'.format(dconf_sysconfdir)] + +if get_option('buildtype').contains('debug') + common_flags += cc.get_supported_arguments([ + '-fno-common', + '-Wmissing-prototypes', + '-Wwrite-strings', + ]) +endif + +add_project_arguments(common_flags, language: 'c') + +dconf_c_args = [ + '-DG_LOG_DOMAIN="dconf"', + '-DG_LOG_USE_STRUCTURED=1', +] + +gio_req_version = '>= 2.25.7' + +gio_dep = dependency('gio-2.0', version: gio_req_version) +gio_unix_dep = dependency('gio-unix-2.0', version: gio_req_version) +glib_dep = dependency('glib-2.0', version: '>= 2.44.0') + +gio_module_dir = gio_dep.get_pkgconfig_variable('giomoduledir', define_variable: ['libdir', dconf_libdir]) +dbus_session_service_dir = dependency('dbus-1').get_pkgconfig_variable('session_bus_services_dir', define_variable: ['datadir', dconf_datadir]) + +enable_bash_completion = get_option('bash_completion') +if enable_bash_completion + # FIXME: the `.pc` file is wrong because `completionsdir` should be relative to `datadir`, not `prefix` + completions_dir = dependency('bash-completion').get_pkgconfig_variable('completionsdir', define_variable: ['prefix', dconf_prefix]) +endif + +configure_file( + output: 'config.h', + configuration: configuration_data(), +) + +test_env = [ + 'G_DEBUG=gc-friendly,fatal-warnings', + 'MALLOC_CHECK_=2', + 'LC_ALL=C.UTF-8', +] + +gnome = import('gnome') +pkg = import('pkgconfig') + +top_inc = include_directories('.') + +subdir('shm') +subdir('gvdb') +subdir('common') +subdir('engine') +subdir('service') +subdir('gdbus') +subdir('gsettings') +subdir('client') +subdir('bin') +subdir('docs') +subdir('tests') + +meson.add_install_script('meson_post_install.py', gio_module_dir) |