aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2022-12-07 22:25:26 -0500
committerEli Schwartz <eschwartz@archlinux.org>2022-12-27 20:29:46 -0500
commit0544ffabf1f252494f6b9699a2b9007682fc322e (patch)
tree23ecaa7ce384cbb4b4f7165117ac7d1b0ab54764 /mesonbuild/backend/backends.py
parent2fa074917597fea0cf3332c6620d3414034825e4 (diff)
downloadmeson-0544ffabf1f252494f6b9699a2b9007682fc322e.zip
meson-0544ffabf1f252494f6b9699a2b9007682fc322e.tar.gz
meson-0544ffabf1f252494f6b9699a2b9007682fc322e.tar.bz2
add builtin option to install licenses
Unless `meson.install_dependency_manifest()` is explicitly used, this will cause a default implied one to be installed.
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r--mesonbuild/backend/backends.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index 843af5d..c676d13 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -1187,13 +1187,19 @@ class Backend:
return outputs
def generate_depmf_install(self, d: InstallData) -> None:
- if self.build.dep_manifest_name is None:
- return
+ depmf_path = self.build.dep_manifest_name
+ if depmf_path is None:
+ option_dir = self.environment.coredata.get_option(OptionKey('licensedir'))
+ assert isinstance(option_dir, str), 'for mypy'
+ if option_dir:
+ depmf_path = os.path.join(option_dir, 'depmf.json')
+ else:
+ return
ifilename = os.path.join(self.environment.get_build_dir(), 'depmf.json')
- ofilename = os.path.join(self.environment.get_prefix(), self.build.dep_manifest_name)
- odirname = os.path.join(self.environment.get_prefix(), os.path.dirname(self.build.dep_manifest_name))
- out_name = os.path.join('{prefix}', self.build.dep_manifest_name)
- out_dir = os.path.join('{prefix}', os.path.dirname(self.build.dep_manifest_name))
+ ofilename = os.path.join(self.environment.get_prefix(), depmf_path)
+ odirname = os.path.join(self.environment.get_prefix(), os.path.dirname(depmf_path))
+ out_name = os.path.join('{prefix}', depmf_path)
+ out_dir = os.path.join('{prefix}', os.path.dirname(depmf_path))
mfobj = {'type': 'dependency manifest', 'version': '1.0',
'projects': {k: v.to_json() for k, v in self.build.dep_manifest.items()}}
with open(ifilename, 'w', encoding='utf-8') as f: