diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-01-01 19:27:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-01 19:27:41 +0200 |
commit | 8c9fcb1feac8ef7e4064ede9035f76ad53dc8e09 (patch) | |
tree | 5fc28dbf7d81db0ba1072ffe32737ff9138d1bb6 /mesonbuild/backend/backends.py | |
parent | 739341ec045a42892b454f59f76515f73c2a8759 (diff) | |
parent | 98115bb26150866f5b44b744b4b4dbadd37117ba (diff) | |
download | meson-8c9fcb1feac8ef7e4064ede9035f76ad53dc8e09.zip meson-8c9fcb1feac8ef7e4064ede9035f76ad53dc8e09.tar.gz meson-8c9fcb1feac8ef7e4064ede9035f76ad53dc8e09.tar.bz2 |
Merge pull request #4564 from mensinda/introBuildOpts
mintro: Introspect --buildoptions without a build directory
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 4040251..e8adc99 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -124,10 +124,35 @@ class OptionOverrideProxy: return OptionProxy(base_opt.name, base_opt.validate_value(self.overrides[option_name])) return base_opt +def get_backend_from_name(backend, build): + if backend == 'ninja': + from . import ninjabackend + return ninjabackend.NinjaBackend(build) + elif backend == 'vs': + from . import vs2010backend + return vs2010backend.autodetect_vs_version(build) + elif backend == 'vs2010': + from . import vs2010backend + return vs2010backend.Vs2010Backend(build) + elif backend == 'vs2015': + from . import vs2015backend + return vs2015backend.Vs2015Backend(build) + elif backend == 'vs2017': + from . import vs2017backend + return vs2017backend.Vs2017Backend(build) + elif backend == 'xcode': + from . import xcodebackend + return xcodebackend.XCodeBackend(build) + return None + # This class contains the basic functionality that is needed by all backends. # Feel free to move stuff in and out of it as you see fit. class Backend: def __init__(self, build): + # Make it possible to construct a dummy backend + # This is used for introspection without a build directory + if build is None: + return self.build = build self.environment = build.environment self.processed_targets = {} |