diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-08-11 20:41:48 +0530 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-08-13 21:17:47 +0300 |
commit | 556966003ebd95c275b8d2c889c1d8ac339f3d36 (patch) | |
tree | f4484cb7048ae6b089fd0415fbb6d5719601455c | |
parent | 60b83a5f0a0ac5c1f860df33b0698150b1779179 (diff) | |
download | meson-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.py | 16 | ||||
-rw-r--r-- | test cases/frameworks/7 gnome/gir/meson.build | 3 | ||||
-rw-r--r-- | test cases/frameworks/7 gnome/resources/meson.build | 8 | ||||
-rw-r--r-- | test cases/frameworks/7 gnome/schemas/meson.build | 5 |
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) |