aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-05-30 23:08:24 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2016-05-30 23:08:24 +0300
commit0482635c1293ecc1148da8236f6b77cd4f21e130 (patch)
treedcbb570b109ad93d0b23986273a73e708d3352ce /mesonbuild/backend/ninjabackend.py
parent8e734a8c9fbd874a20c59a3994df0bf081f3bf48 (diff)
downloadmeson-0482635c1293ecc1148da8236f6b77cd4f21e130.zip
meson-0482635c1293ecc1148da8236f6b77cd4f21e130.tar.gz
meson-0482635c1293ecc1148da8236f6b77cd4f21e130.tar.bz2
Handle case of install_subdirring a subdir.
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index ce8d46e..077254d 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -545,8 +545,15 @@ int dummy;
def generate_subdir_install(self, d):
for sd in self.build.get_install_subdirs():
- src_dir = os.path.join(self.environment.get_source_dir(), sd.source_subdir)
- inst_dir = sd.installable_subdir
+ inst_subdir = sd.installable_subdir.rstrip('/')
+ idir_parts = inst_subdir.split('/')
+ if len(idir_parts) > 1:
+ subdir = os.path.join(sd.source_subdir, '/'.join(idir_parts[:-1]))
+ inst_dir = idir_parts[-1]
+ else:
+ subdir = sd.source_subdir
+ inst_dir = sd.installable_subdir
+ src_dir = os.path.join(self.environment.get_source_dir(), subdir)
dst_dir = os.path.join(self.environment.get_prefix(), sd.install_dir)
d.install_subdirs.append([src_dir, inst_dir, dst_dir])