[libgd/wip/meson] Add meson build
- From: Zeeshan Ali <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgd/wip/meson] Add meson build
- Date: Tue, 11 Oct 2016 13:56:16 +0000 (UTC)
commit 7fef16a74acac2de1a9d631396156366abf9fdd1
Author: Zeeshan Ali <zeenix gmail com>
Date: Tue Oct 11 12:31:58 2016 +0200
Add meson build
meson.build | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++
meson_options.txt | 13 +++++
2 files changed, 142 insertions(+), 0 deletions(-)
---
diff --git a/libgd/meson.build b/libgd/meson.build
new file mode 100644
index 0000000..e69de29
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..1ad1b12
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,129 @@
+#
+# Copyright (c) 2016 Pelagicore AB.
+#
+# Author: Zeeshan Ali <zeeshanak gnome org>
+#
+# This build file currently is not very useful, as is. There is currently no way
+# in meson for the main project to pass any flags/options to subproject's build
+# and hence it can't choose which components to build, which is what all users
+# of libgd currently do.
+#
+# However, you can build libgd standalone with it:
+#
+# $ mkdir build
+# $ cd build
+# $ meson # choose components to build using -Doption=true paremeters
+# # Check meson.options for list of options
+# $ ninja # ninja-build on Fedora
+#
+
+project('libgd', 'c')
+
+gtk = dependency('gtk+-3.0')
+cc = meson.get_compiler('c')
+libm = cc.find_library('libm')
+
+sources = [ 'libgd/gd.h',
+ 'libgd/gd-types-catalog.c',
+ 'libgd/gd-types-catalog.h' ]
+
+if get_option('libgd-gtk-hacks')
+ sources += [ 'libgd/gd-entry-focus-hack.c',
+ 'libgd/gd-entry-focus-hack.h',
+ 'libgd/gd-icon-utils.c',
+ 'libgd/gd-icon-utils.h' ]
+endif
+
+build_view_generic = (get_option('libgd-main-icon-view') or
+ get_option('libgd-main-list-view') or
+ get_option('libgd-main-view'))
+
+if build_view_generic
+ sources += [ 'libgd/gd-main-view-generic.c',
+ 'libgd/gd-main-view-generic.h',
+ 'libgd/gd-styled-text-renderer.c',
+ 'libgd/gd-styled-text-renderer.h',
+ 'libgd/gd-two-lines-renderer.c',
+ 'libgd/gd-two-lines-renderer.h' ]
+endif
+
+build_icon_view = (get_option('libgd-main-icon-view') or
+ get_option('libgd-main-view'))
+if build_icon_view
+ sources += [ 'libgd/gd-main-icon-view.c',
+ 'libgd/gd-main-icon-view.h',
+ 'libgd/gd-toggle-pixbuf-renderer.c',
+ 'libgd/gd-toggle-pixbuf-renderer.h' ]
+endif
+
+build_list_view = (get_option('libgd-main-list-view') or
+ get_option('libgd-main-view'))
+if build_list_view
+ sources += [ 'libgd/gd-main-list-view.c',
+ 'libgd/gd-main-list-view.h' ]
+endif
+
+if get_option('libgd-main-view')
+ sources += [ 'libgd/gd-main-view.c',
+ 'libgd/gd-main-view.h' ]
+endif
+
+if get_option('libgd-main-toolbar')
+ sources += [ 'libgd/gd-main-toolbar.c',
+ 'libgd/gd-main-toolbar.h' ]
+endif
+
+if get_option('libgd-header-bar')
+ sources += [ 'libgd/gd-header-bar.c',
+ 'libgd/gd-header-bar.h' ]
+endif
+
+if get_option('libgd-header-button')
+ sources += [ 'libgd/gd-header-button.c',
+ 'libgd/gd-header-button.h' ]
+endif
+
+if get_option('libgd-margin-container')
+ sources += [ 'libgd/gd-margin-container.c',
+ 'libgd/gd-margin-container.h' ]
+endif
+
+if get_option('libgd-notification')
+ sources += [ 'libgd/gd-notification.c',
+ 'libgd/gd-notification.h' ]
+endif
+
+if get_option('libgd-revealer')
+ sources += [ 'libgd/gd-revealer.c',
+ 'libgd/gd-revealer.h' ]
+endif
+
+add_global_arguments('-I' + meson.source_root(), language: 'c')
+add_global_arguments('-I' + meson.source_root() + '/libgd', language: 'c')
+
+if get_option('libgd-static')
+ static_library('gd', sources, dependencies: [gtk, libm])
+endif
+libgd = shared_library('gd', sources, dependencies: [gtk, libm])
+
+if get_option('libgd-gir') or get_option('libgd-vapi')
+ gnome = import('gnome')
+ gir = gnome.generate_gir(libgd,
+ sources : sources,
+ nsversion : '1.0',
+ namespace : 'Gd',
+ symbol_prefix : 'gd',
+ identifier_prefix : 'Gd',
+ includes : 'Gtk-3.0')
+
+ if get_option('libgd-vapi')
+ vapigen = find_program('vapigen')
+ vapi = custom_target('gd-1.0.vapi',
+ output: 'gd-1.0.vapi',
+ input: gir,
+ command: [vapigen, '--library', 'gd-1.0',
+ '--pkg', 'gtk+-3.0',
+ '@INPUT@'],
+ install: false)
+ endif
+endif
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..2c8482a
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,13 @@
+option('libgd-gtk-hacks', type: 'boolean', value: false)
+option('libgd-main-icon-view', type: 'boolean', value: false)
+option('libgd-main-list-view', type: 'boolean', value: false)
+option('libgd-main-view', type: 'boolean', value: false)
+option('libgd-main-toolbar', type: 'boolean', value: false)
+option('libgd-header-bar', type: 'boolean', value: false)
+option('libgd-header-button', type: 'boolean', value: false)
+option('libgd-margin-container', type: 'boolean', value: false)
+option('libgd-notification', type: 'boolean', value: false)
+option('libgd-revealer', type: 'boolean', value: false)
+option('libgd-static', type: 'boolean', value: false)
+option('libgd-gir', type: 'boolean', value: false)
+option('libgd-vapi', type: 'boolean', value: false)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]