[glibmm/mkolny/meson-build] fix generating wrap_init.cc



commit 931dc3ab9416d9474cf08fcf7c820e10887c7b35
Author: Marcin Kolny <marcin kolny gmail com>
Date:   Wed Aug 2 22:07:50 2017 +0100

    fix generating wrap_init.cc

 gio/giomm/meson.build   |   11 ++++++++---
 glib/glibmm/meson.build |   10 ++++++++--
 meson.build             |    2 +-
 3 files changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/gio/giomm/meson.build b/gio/giomm/meson.build
index e3d0fb0..20b443a 100644
--- a/gio/giomm/meson.build
+++ b/gio/giomm/meson.build
@@ -109,7 +109,6 @@ giomm_modules = [
   'dbusinterfaceskeleton',
   'inetaddress',
   'settingsschema',
-  'unixmount',
   'dbusinterfacevtable',
   'inetsocketaddress',
   'settingsschemakey',
@@ -152,9 +151,15 @@ private_dir = join_paths(meson.build_root(), 'gio', 'giomm', 'private')
 giomm_targets += custom_target('giomm_generate_priv_dir',
   output : 'private',
   command : [python, '-c',
-            'import os\nos.mkdir("' + private_dir + '")'])
+            'import os\nos.makedirs("' + private_dir + '", exist_ok=True)'])
+
+giomm_hg_files = []
+foreach module : giomm_modules
+  giomm_hg_files += [join_paths(meson.current_source_dir(), '..', 'src', module + '.hg')]
+endforeach
 
 giomm_targets += custom_target('giomm_generate_wrap_init',
+  input : glibmm_hg_files,
   output : 'wrap_init.cc',
   command : [python,
              wrap_output,
@@ -162,7 +167,7 @@ giomm_targets += custom_target('giomm_generate_wrap_init',
             join_paths(meson.current_build_dir(), 'wrap_init.cc'),
              '--',
              join_paths(meson.build_root(), 'tools', 'generate_wrap_init.pl'),
-             '--namespace=Gio', '--parent_dir=giomm'])
+             '--namespace=Gio', '--parent_dir=giomm'] + giomm_hg_files)
 
 # TODO: foreach below could be replaced with simpler code (see glibmm's meson file)
 foreach giomm_module : giomm_modules
diff --git a/glib/glibmm/meson.build b/glib/glibmm/meson.build
index d1f2fc8..dd378be 100644
--- a/glib/glibmm/meson.build
+++ b/glib/glibmm/meson.build
@@ -73,9 +73,15 @@ private_dir = join_paths(meson.build_root(), 'glib', 'glibmm', 'private')
 glibmm_targets += custom_target('glibmm_generate_priv_dir',
   output : 'private',
   command : [python, '-c',
-            'import os\nos.mkdir("' + private_dir + '")'])
+            'import os\nos.makedirs("' + private_dir + '", exist_ok=True)'])
+
+glibmm_hg_files = []
+foreach module : glibmm_modules
+  glibmm_hg_files += [join_paths(meson.current_source_dir(), '..', 'src', module + '.hg')]
+endforeach
 
 glibmm_targets += custom_target('glibmm_generate_wrap_init',
+  input : glibmm_hg_files,
   output : 'wrap_init.cc',
   command : [python,
              wrap_output,
@@ -83,7 +89,7 @@ glibmm_targets += custom_target('glibmm_generate_wrap_init',
             join_paths(meson.current_build_dir(), 'wrap_init.cc'),
              '--',
              join_paths(meson.build_root(), 'tools', 'generate_wrap_init.pl'),
-             '--namespace=Glib', '--parent_dir=glibmm'])
+             '--namespace=Glib', '--parent_dir=glibmm'] + glibmm_hg_files)
 
 foreach glibmm_module : glibmm_modules
   glibmm_targets += custom_target('glibmm_generate_cc_' + glibmm_module,
diff --git a/meson.build b/meson.build
index 5665728..c25a8ae 100644
--- a/meson.build
+++ b/meson.build
@@ -14,7 +14,7 @@ gmoduledep = dependency('gmodule-2.0')
 gobjectdep = dependency('gobject-2.0')
 sigcppdep = dependency('sigc++-3.0')
 
-python = find_program('python')
+python = import('python3').find_python()
 perl = find_program('perl')
 m4 = find_program('m4')
 


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