diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-09-17 11:46:42 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2020-10-13 17:55:16 -0400 |
commit | 173c115834e37acf2a66fd00fa4010e5765c39a9 (patch) | |
tree | 358449130cbe02a74e686cae046346c7ff53432d /mesonbuild | |
parent | a20d7ad67d3c876785901349cfc990e4bf31778b (diff) | |
download | meson-173c115834e37acf2a66fd00fa4010e5765c39a9.zip meson-173c115834e37acf2a66fd00fa4010e5765c39a9.tar.gz meson-173c115834e37acf2a66fd00fa4010e5765c39a9.tar.bz2 |
Add wrap mode to disable auto promote
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/interpreter.py | 13 | ||||
-rw-r--r-- | mesonbuild/wrap/__init__.py | 2 |
2 files changed, 9 insertions, 6 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 56bc72d..ad6f04e 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -3166,12 +3166,13 @@ external dependencies (including libraries) must go to "dependencies".''') # Load wrap files from this (sub)project. wrap_mode = self.coredata.get_builtin_option('wrap_mode') - subdir = os.path.join(self.subdir, spdirname) - r = wrap.Resolver(self.environment.get_source_dir(), subdir, wrap_mode) - if self.is_subproject(): - self.environment.wrap_resolver.merge_wraps(r) - else: - self.environment.wrap_resolver = r + if not self.is_subproject() or wrap_mode != WrapMode.nopromote: + subdir = os.path.join(self.subdir, spdirname) + r = wrap.Resolver(self.environment.get_source_dir(), subdir, wrap_mode) + if self.is_subproject(): + self.environment.wrap_resolver.merge_wraps(r) + else: + self.environment.wrap_resolver = r self.build.projects[self.subproject] = proj_name mlog.log('Project name:', mlog.bold(proj_name)) diff --git a/mesonbuild/wrap/__init__.py b/mesonbuild/wrap/__init__.py index 1771146..653f42a 100644 --- a/mesonbuild/wrap/__init__.py +++ b/mesonbuild/wrap/__init__.py @@ -40,6 +40,7 @@ string_to_value = {'default': 1, 'nofallback': 2, 'nodownload': 3, 'forcefallback': 4, + 'nopromote': 5, } class WrapMode(Enum): @@ -47,6 +48,7 @@ class WrapMode(Enum): nofallback = 2 nodownload = 3 forcefallback = 4 + nopromote = 5 def __str__(self) -> str: return self.name |