aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-02-12 22:37:25 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2014-02-12 22:37:25 +0200
commit51827d4484845432588f850b24245d22b1d9c9f0 (patch)
tree3564b530787dd29902108363ddcf6753051bc619 /backends.py
parentd84d70fa9a490578ffa926be82edefeeed217cb7 (diff)
downloadmeson-51827d4484845432588f850b24245d22b1d9c9f0.zip
meson-51827d4484845432588f850b24245d22b1d9c9f0.tar.gz
meson-51827d4484845432588f850b24245d22b1d9c9f0.tar.bz2
Can override install directory on a target-by-target basis.
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/backends.py b/backends.py
index 6e710f4..6a1109b 100644
--- a/backends.py
+++ b/backends.py
@@ -547,10 +547,12 @@ class NinjaBackend(Backend):
should_strip = self.environment.coredata.strip
for t in self.build.get_targets().values():
if t.should_install():
- if isinstance(t, build.Executable):
- outdir = bindir
- else:
- outdir = libdir
+ outdir = t.get_custom_install_dir()
+ if outdir is None:
+ if isinstance(t, build.Executable):
+ outdir = bindir
+ else:
+ outdir = libdir
i = [self.get_target_filename(t), outdir, t.get_aliaslist(), should_strip]
d.targets.append(i)
@@ -571,7 +573,9 @@ class NinjaBackend(Backend):
headers = self.build.get_headers()
for h in headers:
- outdir = os.path.join(incroot, h.get_subdir())
+ outdir = h.get_custom_install_dir()
+ if outdir is None:
+ outdir = os.path.join(incroot, h.get_subdir())
for f in h.get_sources():
abspath = os.path.join(self.environment.get_source_dir(), f) # FIXME
i = [abspath, outdir]