diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-04-01 01:29:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-01 01:29:51 +0300 |
commit | 5905533fcd7fb9663023e6cf98d95667620d2f12 (patch) | |
tree | 49ed83ebd7c34cfe1a676ac9607c609283349db3 /mesonbuild/backend/backends.py | |
parent | e3e83e2acdec877c527b36542fc64867c5943f77 (diff) | |
parent | 2259db2683d9e60c727ce847d1da7a759b190006 (diff) | |
download | meson-5905533fcd7fb9663023e6cf98d95667620d2f12.zip meson-5905533fcd7fb9663023e6cf98d95667620d2f12.tar.gz meson-5905533fcd7fb9663023e6cf98d95667620d2f12.tar.bz2 |
Merge pull request #5103 from mesonbuild/linkcustom
Can link against custom targets
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index d69091b..d752ac4 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()) @@ -961,6 +965,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: |