[jsonrpc-glib] build: Add support for insalling into private directory



commit a14cb9f8fa9eb3a66c58132a761a5b159fe30553
Author: Patrick Griffis <tingping tingping se>
Date:   Fri Jun 9 18:43:30 2017 -0400

    build: Add support for insalling into private directory

 meson.build       |    8 +++++---
 meson_options.txt |    5 +++++
 src/meson.build   |    6 ++++--
 3 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/meson.build b/meson.build
index a977094..7d0997f 100644
--- a/meson.build
+++ b/meson.build
@@ -83,9 +83,11 @@ add_project_arguments(
 )
 
 # Setup various paths that subdirectory meson.build files need
-girdir = join_paths(get_option('datadir'), 'gir-1.0')
-typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
-vapidir = join_paths(get_option('datadir'), 'vala', 'vapi')
+package_subdir = get_option('package_subdir')
+girdir = join_paths(get_option('datadir'), package_subdir, 'gir-1.0')
+typelibdir = join_paths(get_option('libdir'), package_subdir, 'girepository-1.0')
+vapidir = join_paths(get_option('datadir'), package_subdir, 'vala', 'vapi')
+libdir = join_paths(get_option('libdir'), package_subdir)
 
 gnome = import('gnome')
 
diff --git a/meson_options.txt b/meson_options.txt
index 840c457..ce0f510 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -14,3 +14,8 @@ option('enable-gtk-doc',
 option('enable-tests',
        type: 'boolean', value: true,
        description: 'Whether to compile unit tests')
+
+# For subproject usage
+option('package_subdir', type: 'string',
+  description: 'Private sub-directory used when built as a subproject'
+)
\ No newline at end of file
diff --git a/src/meson.build b/src/meson.build
index f3428e1..a7ee3dd 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,4 +1,4 @@
-libjsonrpc_glib_header_subdir = 'jsonrpc-glib-' + apiversion
+libjsonrpc_glib_header_subdir = join_paths(package_subdir, 'jsonrpc-glib-' + apiversion)
 libjsonrpc_glib_header_dir = join_paths(get_option('includedir'), libjsonrpc_glib_header_subdir)
 
 version_data = configuration_data()
@@ -59,6 +59,7 @@ libjsonrpc_glib = library(
      soversion: soversion,
        version: libversion,
        install: true,
+   install_dir: libdir,
 )
 
 libjsonrpc_glib_dep = declare_dependency(
@@ -102,11 +103,12 @@ pkgg = import('pkgconfig')
 
 pkgg.generate(
     libraries: [libjsonrpc_glib],
-      subdirs: 'jsonrpc-glib-@0@'.format(apiversion),
+      subdirs: libjsonrpc_glib_header_subdir,
       version: meson.project_version(),
          name: 'Jsonrpc-GLib',
      filebase: 'jsonrpc-glib-@0@'.format(apiversion),
   description: 'A jsonrpc library for GLib',
      requires: [ 'gio-2.0', 'json-glib-1.0' ],
+  install_dir: join_paths(libdir, 'pkgconfig'),
 )
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]