diff options
author | Mathieu Duponchelle <mathieu@centricular.com> | 2018-03-24 23:44:50 +0100 |
---|---|---|
committer | Mathieu Duponchelle <mathieu@centricular.com> | 2018-04-06 23:48:48 +0200 |
commit | 31f0242a6fad3f15dc42f81927b5627c73516958 (patch) | |
tree | ed05c9eb260a825fa3c8659a9d2789568c28d154 /mesonbuild/interpreter.py | |
parent | aef1a81b3586aeb48988b60fbeaef5c19e112c45 (diff) | |
download | meson-31f0242a6fad3f15dc42f81927b5627c73516958.zip meson-31f0242a6fad3f15dc42f81927b5627c73516958.tar.gz meson-31f0242a6fad3f15dc42f81927b5627c73516958.tar.bz2 |
new wrap-mode: forcefallback
This can be useful to make sure that a project builds when
its fallbacks are used on systems where external dependencies
satisfy the version requirements, or to easily hack on the sources
of a dependency for which a fallback exists.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 88565af..acb86f0 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2404,10 +2404,13 @@ to directly access options of other subprojects.''') dep = None # Search for it outside the project - try: - dep = dependencies.find_external_dependency(name, self.environment, kwargs) - except DependencyException as e: - exception = e + if self.coredata.wrap_mode != WrapMode.forcefallback or 'fallback' not in kwargs: + try: + dep = dependencies.find_external_dependency(name, self.environment, kwargs) + except DependencyException as e: + exception = e + else: + exception = DependencyException("fallback for %s not found" % name) # Search inside the projects list if not dep or not dep.found(): |