aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Claesson <niklas.claesson@cosylab.com>2018-02-09 21:18:53 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2018-02-15 22:45:54 +0200
commite88887be4a08d58ef494da6f7c1630871d95cd06 (patch)
tree93fb10af00b41a4e84089aadee805102bb5027eb
parent9dc995b3e92a029fb1e563d1ca19365ac5fec804 (diff)
downloadmeson-e88887be4a08d58ef494da6f7c1630871d95cd06.zip
meson-e88887be4a08d58ef494da6f7c1630871d95cd06.tar.gz
meson-e88887be4a08d58ef494da6f7c1630871d95cd06.tar.bz2
Only remove substring if it is part of string
Fixes #2661
-rw-r--r--mesonbuild/backend/backends.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index 292b027..29c3168 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -323,9 +323,12 @@ class Backend:
if os.path.splitext(libpath)[1] not in ['.dll', '.lib', '.so']:
continue
absdir = os.path.dirname(libpath)
- rel_to_src = absdir[len(self.environment.get_source_dir()) + 1:]
- assert(not os.path.isabs(rel_to_src))
- paths.append(os.path.join(self.build_to_src, rel_to_src))
+ if absdir.startswith(self.environment.get_source_dir()):
+ rel_to_src = absdir[len(self.environment.get_source_dir()) + 1:]
+ assert not os.path.isabs(rel_to_src), 'rel_to_src: {} is absolute'.format(rel_to_src)
+ paths.append(os.path.join(self.build_to_src, rel_to_src))
+ else:
+ paths.append(absdir)
return paths
def determine_rpath_dirs(self, target):