aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-04-09 12:04:06 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2016-04-09 12:04:06 +0300
commit48e678db76948cc4b02369b64bc072810535f12f (patch)
tree5336ea79f1b0fd9261d47096c960ffd080944881
parent804a3ca72a6b65b3abeba18a292ea592654db03c (diff)
downloadmeson-48e678db76948cc4b02369b64bc072810535f12f.zip
meson-48e678db76948cc4b02369b64bc072810535f12f.tar.gz
meson-48e678db76948cc4b02369b64bc072810535f12f.tar.bz2
Strip leading source tree dir name from install files if it exists.
-rw-r--r--mesonbuild/backend/ninjabackend.py3
-rw-r--r--test cases/common/12 data/installed_files.txt1
-rw-r--r--test cases/common/12 data/meson.build3
-rw-r--r--test cases/common/12 data/vanishing/vanishing2.dat4
4 files changed, 10 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index d53730a..201b2d1 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -547,12 +547,13 @@ int dummy;
assert(isinstance(de, build.Data))
subdir = de.install_dir
for f in de.sources:
+ plain_f = os.path.split(f)[1]
if de.in_sourcetree:
srcprefix = self.environment.get_source_dir()
else:
srcprefix = self.environment.get_build_dir()
srcabs = os.path.join(srcprefix, de.source_subdir, f)
- dstabs = os.path.join(subdir, f)
+ dstabs = os.path.join(subdir, plain_f)
i = [srcabs, dstabs]
d.data.append(i)
diff --git a/test cases/common/12 data/installed_files.txt b/test cases/common/12 data/installed_files.txt
index 1c58623..3d4b12c 100644
--- a/test cases/common/12 data/installed_files.txt
+++ b/test cases/common/12 data/installed_files.txt
@@ -1,3 +1,4 @@
usr/share/progname/datafile.dat
usr/share/progname/vanishing.dat
+usr/share/progname/vanishing2.dat
etc/etcfile.dat
diff --git a/test cases/common/12 data/meson.build b/test cases/common/12 data/meson.build
index 2193f94..80f3835 100644
--- a/test cases/common/12 data/meson.build
+++ b/test cases/common/12 data/meson.build
@@ -1,4 +1,7 @@
project('data install test', 'c')
install_data(sources : 'datafile.dat', install_dir : 'share/progname')
install_data(sources : 'etcfile.dat', install_dir : '/etc')
+
subdir('vanishing')
+
+install_data(sources : 'vanishing/vanishing2.dat', install_dir : 'share/progname')
diff --git a/test cases/common/12 data/vanishing/vanishing2.dat b/test cases/common/12 data/vanishing/vanishing2.dat
new file mode 100644
index 0000000..99c923b
--- /dev/null
+++ b/test cases/common/12 data/vanishing/vanishing2.dat
@@ -0,0 +1,4 @@
+This is a data file to be installed in a subdirectory.
+
+It is installed from a different subdir to test that the
+installer strips the source tree dir prefix.