diff options
author | Vili Väinölä <vilivainola@gmail.com> | 2022-06-01 18:31:33 +0300 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2022-06-01 12:32:53 -0700 |
commit | 18e2f8b2b3c7b3cb29e7d7ff037b175411f47f25 (patch) | |
tree | 8377bb862185c15f028b29389447e9482a7fd8e2 /test cases | |
parent | eec7b2c359fe1ab2945c67465848294996bd2f9d (diff) | |
download | meson-18e2f8b2b3c7b3cb29e7d7ff037b175411f47f25.zip meson-18e2f8b2b3c7b3cb29e7d7ff037b175411f47f25.tar.gz meson-18e2f8b2b3c7b3cb29e7d7ff037b175411f47f25.tar.bz2 |
Fix sandbox violation when using subproject as a symlink
Fix "Tried to grab file outside current (sub)project" error when subproject exists within
a source tree but it is used through a symlink. Using subprojects as symlinks is very useful
feature when migrating an existing codebase to meson that all sources do not need to be
immediately moved to subprojects folder.
Diffstat (limited to 'test cases')
4 files changed, 21 insertions, 0 deletions
diff --git a/test cases/unit/106 subproject symlink/main.c b/test cases/unit/106 subproject symlink/main.c new file mode 100644 index 0000000..62bd4b4 --- /dev/null +++ b/test cases/unit/106 subproject symlink/main.c @@ -0,0 +1,6 @@ +extern int foo(void); + +int main(void) +{ + return foo(); +} diff --git a/test cases/unit/106 subproject symlink/meson.build b/test cases/unit/106 subproject symlink/meson.build new file mode 100644 index 0000000..51c78c7 --- /dev/null +++ b/test cases/unit/106 subproject symlink/meson.build @@ -0,0 +1,8 @@ +project('foo', 'c') + +symlinked_subproject = subproject('symlinked_subproject') + +executable('foo', + sources : 'main.c', + dependencies : symlinked_subproject.get_variable('dep') +) diff --git a/test cases/unit/106 subproject symlink/symlinked_subproject/meson.build b/test cases/unit/106 subproject symlink/symlinked_subproject/meson.build new file mode 100644 index 0000000..61440c7 --- /dev/null +++ b/test cases/unit/106 subproject symlink/symlinked_subproject/meson.build @@ -0,0 +1,3 @@ +project('symlinked_subproject', 'c', version : '1.0.0') + +dep = declare_dependency(sources : 'src.c') diff --git a/test cases/unit/106 subproject symlink/symlinked_subproject/src.c b/test cases/unit/106 subproject symlink/symlinked_subproject/src.c new file mode 100644 index 0000000..97d7ad1 --- /dev/null +++ b/test cases/unit/106 subproject symlink/symlinked_subproject/src.c @@ -0,0 +1,4 @@ +int foo(void) +{ + return 0; +} |