[glibmm/mkolny/meson-build] Build examples with meson



commit c16e370d76b5aa60d57cba350ba91c459b7af193
Author: Marcin Kolny <marcin kolny gmail com>
Date:   Sun Jul 30 22:11:18 2017 +0100

    Build examples with meson

 examples/dbus/meson.build             |    3 +++
 examples/iochannel_stream/meson.build |    1 +
 examples/markup/meson.build           |    2 ++
 examples/meson.build                  |   18 ++++++++++++++++++
 examples/network/meson.build          |    3 +++
 examples/network/resolver.cc          |    3 ---
 examples/properties/meson.build       |    2 ++
 examples/settings/meson.build         |    5 +++++
 examples/thread/meson.build           |    2 ++
 gio/giomm/meson.build                 |    8 +++++++-
 glib/glibmm/meson.build               |    7 +++++--
 meson.build                           |    1 +
 12 files changed, 49 insertions(+), 6 deletions(-)
---
diff --git a/examples/dbus/meson.build b/examples/dbus/meson.build
new file mode 100644
index 0000000..3e47105
--- /dev/null
+++ b/examples/dbus/meson.build
@@ -0,0 +1,3 @@
+executable('dbus-client-example', 'client_bus_listnames.cc', dependencies : giomm_dep)
+executable('dbus-server-no-bus-example', 'server_without_bus.cc', dependencies : giomm_dep)
+executable('dbus-server-example', 'session_bus_service.cc', dependencies : giomm_dep)
\ No newline at end of file
diff --git a/examples/iochannel_stream/meson.build b/examples/iochannel_stream/meson.build
new file mode 100644
index 0000000..8ad345d
--- /dev/null
+++ b/examples/iochannel_stream/meson.build
@@ -0,0 +1 @@
+executable('iochannel_stream-example', 'main.cc', 'fdstream.cc', dependencies : giomm_dep)
diff --git a/examples/markup/meson.build b/examples/markup/meson.build
new file mode 100644
index 0000000..2ce05b4
--- /dev/null
+++ b/examples/markup/meson.build
@@ -0,0 +1,2 @@
+#TODO: this could be moved to simple-examples 
+executable('markup-example', 'parser.cc', dependencies : giomm_dep)
diff --git a/examples/meson.build b/examples/meson.build
new file mode 100644
index 0000000..e92577a
--- /dev/null
+++ b/examples/meson.build
@@ -0,0 +1,18 @@
+simple_examples = [
+  'child_watch',
+  'compose',
+  'keyfile',
+  'options',
+  'regex']
+
+foreach example : simple_examples
+  executable(example + '-example', join_paths(example, 'main.cc'), dependencies : giomm_dep)
+endforeach
+
+subdir('dbus')
+subdir('iochannel_stream')
+subdir('markup')
+subdir('network')
+subdir('properties')
+subdir('settings')
+subdir('thread')
diff --git a/examples/network/meson.build b/examples/network/meson.build
new file mode 100644
index 0000000..332d917
--- /dev/null
+++ b/examples/network/meson.build
@@ -0,0 +1,3 @@
+executable('network-client-example', 'socket-client.cc', dependencies : giomm_dep)
+executable('network-server-example', 'socket-server.cc', dependencies : giomm_dep)
+executable('network-resolver-example', 'resolver.cc', dependencies : giomm_dep)
diff --git a/examples/network/resolver.cc b/examples/network/resolver.cc
index d838213..4cf487e 100644
--- a/examples/network/resolver.cc
+++ b/examples/network/resolver.cc
@@ -19,9 +19,6 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef _WIN32
-#include <config.h>
-#endif
 #include <giomm.h>
 #include <iostream>
 #include <mutex>
diff --git a/examples/properties/meson.build b/examples/properties/meson.build
new file mode 100644
index 0000000..3bf4ae7
--- /dev/null
+++ b/examples/properties/meson.build
@@ -0,0 +1,2 @@
+#TODO: this could be moved to simple-examples 
+executable('properties-example', 'properties_example.cc', dependencies : glibmm_dep)
diff --git a/examples/settings/meson.build b/examples/settings/meson.build
new file mode 100644
index 0000000..1cd3e79
--- /dev/null
+++ b/examples/settings/meson.build
@@ -0,0 +1,5 @@
+gnome = import('gnome')
+gnome.compile_schemas()
+
+executable('settings-example', 'settings.cc', dependencies : giomm_dep)
+
diff --git a/examples/thread/meson.build b/examples/thread/meson.build
new file mode 100644
index 0000000..c1a8397
--- /dev/null
+++ b/examples/thread/meson.build
@@ -0,0 +1,2 @@
+executable('thread-1-example', 'dispatcher.cc', dependencies : glibmm_dep)
+executable('thread-2-example', 'dispatcher2.cc', dependencies : glibmm_dep)
diff --git a/gio/giomm/meson.build b/gio/giomm/meson.build
index cbc1e00..e3d0fb0 100644
--- a/gio/giomm/meson.build
+++ b/gio/giomm/meson.build
@@ -180,9 +180,15 @@ endforeach
 
 giomm_includes = include_directories('..')
 
+giomm_deps = [glibmm_dep, giounixdep, giodep]
+
 giomm_library = shared_library(
   'giomm',
   giomm_targets, giomm_handwritten_sources,
   include_directories : giomm_includes,
-  dependencies : [glibdep, sigcppdep, gobjectdep, gmoduledep, giounixdep, giodep, glibmm_dep])
+  dependencies : giomm_deps)
 
+giomm_dep = declare_dependency(
+  link_with : giomm_library,
+  include_directories : include_directories('..'),
+  dependencies : giomm_deps)
diff --git a/glib/glibmm/meson.build b/glib/glibmm/meson.build
index c7c9af4..d1f2fc8 100644
--- a/glib/glibmm/meson.build
+++ b/glib/glibmm/meson.build
@@ -123,12 +123,15 @@ endforeach
 
 glibmm_includes = include_directories('..')
 
+glibmm_deps = [glibdep, sigcppdep, gobjectdep, gmoduledep]
+
 glibmm_library = shared_library(
   'glibmm',
   glibmm_targets, glibmm_handwritten_sources,
   include_directories : glibmm_includes,
-  dependencies : [glibdep, sigcppdep, gobjectdep, gmoduledep])
+  dependencies : glibmm_deps)
 
 glibmm_dep = declare_dependency(
   link_with : glibmm_library,
-  include_directories : include_directories('..'))
+  include_directories : include_directories('..'),
+  dependencies : glibmm_deps)
diff --git a/meson.build b/meson.build
index 150231f..85c3ead 100644
--- a/meson.build
+++ b/meson.build
@@ -35,3 +35,4 @@ add_project_arguments(language: 'cpp')
 subdir('tools')
 subdir('glib')
 subdir('gio')
+subdir('examples')


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