diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-09-28 08:49:41 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2020-09-28 11:22:38 -0400 |
commit | 7176b74fd60fb4726826c46c545c2ed25c26cd20 (patch) | |
tree | dd92b930a06c1f6d8c7bb8ba5d4088ad0fb3de3b /mesonbuild | |
parent | 55ea461993db23c8a68053a5f499fda7f65df9b6 (diff) | |
download | meson-7176b74fd60fb4726826c46c545c2ed25c26cd20.zip meson-7176b74fd60fb4726826c46c545c2ed25c26cd20.tar.gz meson-7176b74fd60fb4726826c46c545c2ed25c26cd20.tar.bz2 |
Add meson.project_build/source_root() methods
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/interpreter.py | 22 | ||||
-rw-r--r-- | mesonbuild/interpreterbase.py | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 7df5571..0e5e0f8 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1924,6 +1924,8 @@ class MesonMain(InterpreterObject): 'current_build_dir': self.current_build_dir_method, 'source_root': self.source_root_method, 'build_root': self.build_root_method, + 'project_source_root': self.project_source_root_method, + 'project_build_root': self.project_build_root_method, 'add_install_script': self.add_install_script_method, 'add_postconf_script': self.add_postconf_script_method, 'add_dist_script': self.add_dist_script_method, @@ -2073,6 +2075,26 @@ class MesonMain(InterpreterObject): @noPosargs @permittedKwargs({}) + @FeatureNew('meson.project_source_root', '0.56.0') + def project_source_root_method(self, args, kwargs): + src = self.interpreter.environment.source_dir + sub = self.interpreter.root_subdir + if sub == '': + return src + return os.path.join(src, sub) + + @noPosargs + @permittedKwargs({}) + @FeatureNew('meson.project_build_root', '0.56.0') + def project_build_root_method(self, args, kwargs): + src = self.interpreter.environment.build_dir + sub = self.interpreter.root_subdir + if sub == '': + return src + return os.path.join(src, sub) + + @noPosargs + @permittedKwargs({}) @FeatureDeprecated('meson.has_exe_wrapper', '0.55.0', 'use meson.can_run_host_binaries instead.') def has_exe_wrapper_method(self, args: T.Tuple[object, ...], kwargs: T.Dict[str, object]) -> bool: return self.can_run_host_binaries_impl(args, kwargs) diff --git a/mesonbuild/interpreterbase.py b/mesonbuild/interpreterbase.py index 1524409..d3f8181 100644 --- a/mesonbuild/interpreterbase.py +++ b/mesonbuild/interpreterbase.py @@ -464,6 +464,7 @@ class InterpreterBase: self.funcs = {} # type: T.Dict[str, T.Callable[[mparser.BaseNode, T.List[TYPE_nvar], T.Dict[str, TYPE_nvar]], TYPE_var]] self.builtin = {} # type: T.Dict[str, InterpreterObject] self.subdir = subdir + self.root_subdir = subdir self.subproject = subproject self.variables = {} # type: T.Dict[str, TYPE_var] self.argument_depth = 0 |