From 4b95dd3a6d1a08e22a144f3336f44e0d2c92bd75 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 17 Mar 2019 20:39:44 +0200 Subject: Add test script to generate a static library with a custom target. --- mesonbuild/backend/backends.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mesonbuild/backend') diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 4d35d22..be181a8 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -964,6 +964,12 @@ class Backend: raise MesonException(msg) dfilename = os.path.join(outdir, target.depfile) i = i.replace('@DEPFILE@', dfilename) + elif '@PRIVATE_DIR@' in i: + if target.absolute_paths: + pdir = self.get_target_private_dir_abs(target) + else: + pdir = self.get_target_private_dir(target) + i = i.replace('@PRIVATE_DIR@', pdir) elif '@PRIVATE_OUTDIR_' in i: match = re.search(r'@PRIVATE_OUTDIR_(ABS_)?([^/\s*]*)@', i) if not match: -- cgit v1.1 From e81f48db1600056942e30e2567af73d6d7678188 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 17 Mar 2019 22:34:19 +0200 Subject: Can link against custom targets. Closes #4908. --- mesonbuild/backend/backends.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mesonbuild/backend') diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index be181a8..b62438e 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -211,6 +211,10 @@ class Backend: return os.path.join(self.get_target_dir(target), link_lib) elif isinstance(target, build.StaticLibrary): return os.path.join(self.get_target_dir(target), target.get_filename()) + elif isinstance(target, build.CustomTarget): + if not target.is_linkable_target(): + raise MesonException('Tried to link against custom target "%s", which is not linkable.' % target.name) + return os.path.join(self.get_target_dir(target), target.get_filename()) elif isinstance(target, build.Executable): if target.import_filename: return os.path.join(self.get_target_dir(target), target.get_import_filename()) -- cgit v1.1