aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2021-08-12 22:13:51 -0400
committerXavier Claessens <xclaesse@gmail.com>2021-08-17 15:19:18 -0400
commit8c5aa031b5ffb4eb3c61083072dcab49c8927d45 (patch)
treef62800f365cf6706fab33283436cbeef7df7206f /mesonbuild/modules
parent6d055b1e27dc6fc0fac967fbe2f439758a4c5d07 (diff)
downloadmeson-8c5aa031b5ffb4eb3c61083072dcab49c8927d45.zip
meson-8c5aa031b5ffb4eb3c61083072dcab49c8927d45.tar.gz
meson-8c5aa031b5ffb4eb3c61083072dcab49c8927d45.tar.bz2
Add install tags
Fixes: #7007.
Diffstat (limited to 'mesonbuild/modules')
-rw-r--r--mesonbuild/modules/gnome.py4
-rw-r--r--mesonbuild/modules/hotdoc.py1
-rw-r--r--mesonbuild/modules/i18n.py1
-rw-r--r--mesonbuild/modules/pkgconfig.py2
-rw-r--r--mesonbuild/modules/python.py8
-rw-r--r--mesonbuild/modules/qt.py1
6 files changed, 12 insertions, 5 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index a9cd1d3..a2f98bc 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -747,6 +747,7 @@ 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'))
+ scankwargs['install_tag'] = 'devel'
if 'build_by_default' in kwargs:
scankwargs['build_by_default'] = kwargs['build_by_default']
@@ -764,6 +765,7 @@ 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'))
+ typelib_kwargs['install_tag'] = 'typelib'
if 'build_by_default' in kwargs:
typelib_kwargs['build_by_default'] = kwargs['build_by_default']
@@ -1146,7 +1148,7 @@ class GnomeModule(ExtensionModule):
state.test(check_args, env=check_env, workdir=check_workdir, depends=custom_target)
res = [custom_target, alias_target]
if kwargs.get('install', True):
- res.append(state.backend.get_executable_serialisation(command + args))
+ res.append(state.backend.get_executable_serialisation(command + args, tag='doc'))
return ModuleReturnValue(custom_target, res)
def _get_build_args(self, kwargs, state, depends):
diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py
index 4dccd06..19a1728 100644
--- a/mesonbuild/modules/hotdoc.py
+++ b/mesonbuild/modules/hotdoc.py
@@ -354,6 +354,7 @@ class HotdocTargetBuilder:
'--builddir', os.path.join(self.builddir, self.subdir)] +
self.hotdoc.get_command() +
['run', '--conf-file', hotdoc_config_name])
+ install_script.tag = 'doc'
return (target, install_script)
diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py
index 57d25fd..539f82b 100644
--- a/mesonbuild/modules/i18n.py
+++ b/mesonbuild/modules/i18n.py
@@ -181,6 +181,7 @@ class I18nModule(ExtensionModule):
# to custom_targets. Crude hack: set the build target's subdir manually.
# Bonus: the build tree has something usable as an uninstalled bindtextdomain() target dir.
'install_dir': path.join(install_dir, l, 'LC_MESSAGES'),
+ 'install_tag': 'i18n',
}
gmotarget = build.CustomTarget(l+'.mo', path.join(state.subdir, l, 'LC_MESSAGES'), state.subproject, gmo_kwargs)
targets.append(gmotarget)
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index 48bbc34..e57c4f6 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -548,7 +548,7 @@ class PkgConfigModule(ExtensionModule):
self._generate_pkgconfig_file(state, deps, subdirs, name, description, url,
version, pcfile, conflicts, variables,
unescaped_variables, False, dataonly)
- res = build.Data([mesonlib.File(True, state.environment.get_scratch_dir(), pcfile)], pkgroot, None, state.subproject)
+ res = build.Data([mesonlib.File(True, state.environment.get_scratch_dir(), pcfile)], pkgroot, None, state.subproject, install_tag='devel')
variables = self.interpreter.extract_variables(kwargs, argname='uninstalled_variables', dict_new=True)
variables = parse_variable_list(variables)
unescaped_variables = self.interpreter.extract_variables(kwargs, argname='unescaped_uninstalled_variables')
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index f38becf..65a73a7 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -344,6 +344,7 @@ if T.TYPE_CHECKING:
pure: bool
subdir: str
+ install_tag: T.Optional[str]
class PythonInstallation(ExternalProgramHolder):
@@ -436,14 +437,15 @@ class PythonInstallation(ExternalProgramHolder):
return dep
@typed_pos_args('install_data', varargs=(str, mesonlib.File))
- @typed_kwargs('python_installation.install_sources', _PURE_KW, _SUBDIR_KW)
+ @typed_kwargs('python_installation.install_sources', _PURE_KW, _SUBDIR_KW,
+ KwargInfo('install_tag', str, since='0.60.0'))
def install_sources_method(self, args: T.Tuple[T.List[T.Union[str, mesonlib.File]]],
kwargs: 'PyInstallKw') -> 'Data':
+ tag = kwargs['install_tag'] or 'runtime'
return self.interpreter.install_data_impl(
self.interpreter.source_strings_to_files(args[0]),
self._get_install_dir_impl(kwargs['pure'], kwargs['subdir']),
- mesonlib.FileMode(),
- None)
+ mesonlib.FileMode(), rename=None, tag=tag)
@noPosargs
@typed_kwargs('python_installation.install_dir', _PURE_KW, _SUBDIR_KW)
diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
index 5efd668..ed66ae9 100644
--- a/mesonbuild/modules/qt.py
+++ b/mesonbuild/modules/qt.py
@@ -513,6 +513,7 @@ class QtBaseModule(ExtensionModule):
lrelease_kwargs = {'output': '@BASENAME@.qm',
'input': ts,
'install': kwargs.get('install', False),
+ 'install_tag': 'i18n',
'build_by_default': kwargs.get('build_by_default', False),
'command': cmd}
if install_dir is not None: