summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2017-07-12 16:30:51 +0200
committerMichael Catanzaro <mcatanzaro@igalia.com>2017-10-17 16:32:41 -0500
commitf7a71bd57254912547256045b747f9181eef3529 (patch)
treee7278e8dc0fdddc5b2e6acbd74e72c7626c5f497 /client
parent8ff1b86cb8f6c848be82d99dbb593a50713ce6ad (diff)
downloaddconf-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.am2
-rw-r--r--client/meson.build70
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')
+)