aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2017-08-11 20:41:48 +0530
committerJussi Pakkanen <jpakkane@gmail.com>2017-08-13 21:17:47 +0300
commit556966003ebd95c275b8d2c889c1d8ac339f3d36 (patch)
treef4484cb7048ae6b089fd0415fbb6d5719601455c
parent60b83a5f0a0ac5c1f860df33b0698150b1779179 (diff)
downloadmeson-556966003ebd95c275b8d2c889c1d8ac339f3d36.zip
meson-556966003ebd95c275b8d2c889c1d8ac339f3d36.tar.gz
meson-556966003ebd95c275b8d2c889c1d8ac339f3d36.tar.bz2
gnome: Allow passing build_by_default: to some functions
Closes https://github.com/mesonbuild/meson/issues/2174
-rw-r--r--mesonbuild/modules/gnome.py16
-rw-r--r--test cases/frameworks/7 gnome/gir/meson.build3
-rw-r--r--test cases/frameworks/7 gnome/resources/meson.build8
-rw-r--r--test cases/frameworks/7 gnome/schemas/meson.build5
4 files changed, 24 insertions, 8 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 7021f2d..dc6c25f 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -92,7 +92,7 @@ class GnomeModule(ExtensionModule):
gdbuswarning_printed = True
@permittedKwargs({'source_dir', 'c_name', 'dependencies', 'export', 'gresource_bundle', 'install_header',
- 'install', 'install_dir', 'extra_args'})
+ 'install', 'install_dir', 'extra_args', 'build_by_default'})
def compile_resources(self, state, args, kwargs):
self.__print_gresources_warning(state)
glib_version = self._get_native_glib_version(state)
@@ -210,6 +210,8 @@ class GnomeModule(ExtensionModule):
# The header doesn't actually care about the files yet it errors if missing
'depends': depends
}
+ if 'build_by_default' in kwargs:
+ h_kwargs['build_by_default'] = kwargs['build_by_default']
if install_header:
h_kwargs['install'] = install_header
h_kwargs['install_dir'] = kwargs.get('install_dir',
@@ -393,7 +395,7 @@ class GnomeModule(ExtensionModule):
@permittedKwargs({'sources', 'nsversion', 'namespace', 'symbol_prefix', 'identifier_prefix',
'export_packages', 'includes', 'dependencies', 'link_with', 'include_directories',
'install', 'install_dir_gir', 'install_dir_typelib', 'extra_args',
- 'packages'})
+ 'packages', 'build_by_default'})
def generate_gir(self, state, args, kwargs):
if len(args) != 1:
raise MesonException('Gir takes one argument')
@@ -592,6 +594,8 @@ class GnomeModule(ExtensionModule):
scankwargs['install'] = kwargs['install']
scankwargs['install_dir'] = kwargs.get('install_dir_gir',
os.path.join(state.environment.get_datadir(), 'gir-1.0'))
+ if 'build_by_default' in kwargs:
+ scankwargs['build_by_default'] = kwargs['build_by_default']
scan_target = GirTarget(girfile, state.subdir, scankwargs)
typelib_output = '%s-%s.typelib' % (ns, nsversion)
@@ -608,11 +612,13 @@ class GnomeModule(ExtensionModule):
typelib_kwargs['install'] = kwargs['install']
typelib_kwargs['install_dir'] = kwargs.get('install_dir_typelib',
os.path.join(state.environment.get_libdir(), 'girepository-1.0'))
+ if 'build_by_default' in kwargs:
+ typelib_kwargs['build_by_default'] = kwargs['build_by_default']
typelib_target = TypelibTarget(typelib_output, state.subdir, typelib_kwargs)
rv = [scan_target, typelib_target]
return ModuleReturnValue(rv, rv)
- @noKwargs
+ @permittedKwargs({'build_by_default'})
def compile_schemas(self, state, args, kwargs):
if args:
raise MesonException('Compile_schemas does not take positional arguments.')
@@ -816,7 +822,7 @@ class GnomeModule(ExtensionModule):
return []
- @permittedKwargs({'interface_prefix', 'namespace', 'object_manager'})
+ @permittedKwargs({'interface_prefix', 'namespace', 'object_manager', 'build_by_default'})
def gdbus_codegen(self, state, args, kwargs):
if len(args) != 2:
raise MesonException('Gdbus_codegen takes two arguments, name and xml file.')
@@ -842,6 +848,8 @@ class GnomeModule(ExtensionModule):
'output': outputs,
'command': cmd
}
+ if 'build_by_default' in kwargs:
+ custom_kwargs['build_by_default'] = kwargs['build_by_default']
ct = build.CustomTarget(target_name, state.subdir, custom_kwargs)
return ModuleReturnValue(ct, [ct])
diff --git a/test cases/frameworks/7 gnome/gir/meson.build b/test cases/frameworks/7 gnome/gir/meson.build
index 2758541..0b26754 100644
--- a/test cases/frameworks/7 gnome/gir/meson.build
+++ b/test cases/frameworks/7 gnome/gir/meson.build
@@ -28,7 +28,8 @@ gnome.generate_gir(
includes : ['GObject-2.0', 'MesonDep1-1.0'],
# dep1_dep pulls in dep2_dep for us
dependencies : [fake_dep, dep1_dep],
- install : true
+ install : true,
+ build_by_default : true,
)
test('gobject introspection/c', girexe)
diff --git a/test cases/frameworks/7 gnome/resources/meson.build b/test cases/frameworks/7 gnome/resources/meson.build
index fdf6f63..3ebb2f5 100644
--- a/test cases/frameworks/7 gnome/resources/meson.build
+++ b/test cases/frameworks/7 gnome/resources/meson.build
@@ -45,3 +45,11 @@ if glib.version() >= '2.52.0'
dependencies: gio)
test('generated resource test', generated_res_exe)
endif
+
+# Test build_by_default
+gnome.compile_resources('build-resources',
+ 'simple.gresource.xml',
+ gresource_bundle : true,
+ build_by_default : true,
+ source_dir : '../resources-data',
+)
diff --git a/test cases/frameworks/7 gnome/schemas/meson.build b/test cases/frameworks/7 gnome/schemas/meson.build
index 1947604..9544a57 100644
--- a/test cases/frameworks/7 gnome/schemas/meson.build
+++ b/test cases/frameworks/7 gnome/schemas/meson.build
@@ -1,8 +1,7 @@
-compiled = gnome.compile_schemas()
+compiled = gnome.compile_schemas(build_by_default: true)
install_data('com.github.meson.gschema.xml',
install_dir : 'share/glib-2.0/schemas')
-schemaexe = executable('schemaprog', 'schemaprog.c', compiled,
-dependencies : gio)
+schemaexe = executable('schemaprog', 'schemaprog.c', dependencies : gio)
test('schema test', schemaexe)