diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-04-01 21:31:42 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2020-09-13 13:54:47 -0400 |
commit | 19696c3dcdb379f4c5b88457f43242f2d33427a0 (patch) | |
tree | 25720654b02903d45c02f976f0505d31ae197e9f | |
parent | 7fbdf38ce3b02cc775ce22c3c303ad3529a758c2 (diff) | |
download | meson-19696c3dcdb379f4c5b88457f43242f2d33427a0.zip meson-19696c3dcdb379f4c5b88457f43242f2d33427a0.tar.gz meson-19696c3dcdb379f4c5b88457f43242f2d33427a0.tar.bz2 |
Allow installing dir from build dir
-rw-r--r-- | mesonbuild/backend/backends.py | 6 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index df6dc8f..9bb1a9a 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -1335,7 +1335,11 @@ class Backend: def generate_subdir_install(self, d): for sd in self.build.get_install_subdirs(): - src_dir = os.path.join(self.environment.get_source_dir(), + if sd.from_source_dir: + from_dir = self.environment.get_source_dir() + else: + from_dir = self.environment.get_build_dir() + src_dir = os.path.join(from_dir, sd.source_subdir, sd.installable_subdir).rstrip('/') dst_dir = os.path.join(self.environment.get_prefix(), diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index fc09fa0..99a2916 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -741,7 +741,8 @@ class DataHolder(InterpreterObject, ObjectHolder): return self.held_object.install_dir class InstallDir(InterpreterObject): - def __init__(self, src_subdir, inst_subdir, install_dir, install_mode, exclude, strip_directory): + def __init__(self, src_subdir, inst_subdir, install_dir, install_mode, + exclude, strip_directory, from_source_dir=True): InterpreterObject.__init__(self) self.source_subdir = src_subdir self.installable_subdir = inst_subdir @@ -749,6 +750,7 @@ class InstallDir(InterpreterObject): self.install_mode = install_mode self.exclude = exclude self.strip_directory = strip_directory + self.from_source_dir = from_source_dir class Man(InterpreterObject): |