diff options
author | Iñigo Martínez <inigomartinez@gmail.com> | 2017-07-12 16:30:51 +0200 |
---|---|---|
committer | Michael Catanzaro <mcatanzaro@igalia.com> | 2017-10-17 16:32:41 -0500 |
commit | f7a71bd57254912547256045b747f9181eef3529 (patch) | |
tree | e7278e8dc0fdddc5b2e6acbd74e72c7626c5f497 /client | |
parent | 8ff1b86cb8f6c848be82d99dbb593a50713ce6ad (diff) | |
download | dconf-f7a71bd57254912547256045b747f9181eef3529.tar.gz |
build: Port to meson build system
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=784910
Diffstat (limited to 'client')
-rw-r--r-- | client/Makefile.am | 2 | ||||
-rw-r--r-- | client/meson.build | 70 |
2 files changed, 71 insertions, 1 deletions
diff --git a/client/Makefile.am b/client/Makefile.am index f21c8b2..45450f7 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -35,7 +35,7 @@ libdconf_so_1_0_0_LDADD = \ libdconf_so_1_0_0_LDFLAGS = -shared -Wl,-soname=libdconf.so.1 libdconf_so_1_0_0_SOURCES = $(libdconf_client_a_SOURCES) -EXTRA_DIST = dconf.vapi dconf.deps +EXTRA_DIST = dconf.vapi dconf.deps meson.build vapi_DATA = dconf.vapi dconf.deps vapidir = $(datadir)/vala/vapi diff --git a/client/meson.build b/client/meson.build new file mode 100644 index 0000000..cb94deb --- /dev/null +++ b/client/meson.build @@ -0,0 +1,70 @@ +client_inc = include_directories('.') + +install_headers( + 'dconf.h', + subdir: meson.project_name() +) + +install_headers( + 'dconf-client.h', + subdir: join_paths(meson.project_name(), 'client') +) + +sources = files('dconf-client.c') + +cflags = '-DG_LOG_DOMAIN="@0@"'.format(meson.project_name()) + +libdconf_client = static_library( + meson.project_name() + '-client', + sources: sources, + include_directories: top_inc, + dependencies: gio_unix_dep, + c_args: cflags, + pic: true +) + +libdconf = shared_library( + meson.project_name(), + sources: sources, + version: libversion, + soversion: soversion, + include_directories: top_inc, + dependencies: gio_unix_dep, + c_args: cflags, + link_with: [ + libdconf_common_shared, + libdconf_engine_shared, + libdconf_gdbus_thread_shared, + libdconf_shm_shared, + libgvdb_shared + ], + install: true, + install_dir: dconf_libdir +) + +libdconf_dep = declare_dependency( + link_with: libdconf, + include_directories: client_inc, + dependencies: gio_unix_dep +) + +pkg.generate( + libraries: libdconf, + version: dconf_version, + name: meson.project_name(), + description: meson.project_name() + ' client library', + filebase: meson.project_name(), + subdirs: meson.project_name(), + requires: 'gio-unix-2.0 ' + gio_unix_req_version, + variables: 'exec_prefix=' + dconf_libexecdir, + install_dir: join_paths(dconf_libdir, 'pkgconfig') +) + +libdconf_vapi = files(meson.project_name() + '.vapi') + +vapi_data = libdconf_vapi + files(meson.project_name() + '.deps') + +install_data( + vapi_data, + install_dir: join_paths(dconf_datadir, 'vala', 'vapi') +) |