diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-05-02 22:21:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-02 22:21:56 +0300 |
commit | 7059c47aad2ef28046ceb8566f0c1d2f98e03cb1 (patch) | |
tree | 01bdf4592080181fbd7c89f2350ae8573f8bb98a /mesonbuild/backend/vs2010backend.py | |
parent | 70997ca969dab0de7a800af7f7c7d6c7e25cf4ac (diff) | |
parent | d74ab216db4e4eb7574813517b5a7edb44631e1c (diff) | |
download | meson-7059c47aad2ef28046ceb8566f0c1d2f98e03cb1.zip meson-7059c47aad2ef28046ceb8566f0c1d2f98e03cb1.tar.gz meson-7059c47aad2ef28046ceb8566f0c1d2f98e03cb1.tar.bz2 |
Merge pull request #5161 from TheQwertiest/feature/custom_target_link
Can link against custom_target[i]
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
-rw-r--r-- | mesonbuild/backend/vs2010backend.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index d1bf1e5..afbd59b 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -249,9 +249,15 @@ class Vs2010Backend(backends.Backend): all_deps[d.get_id()] = d elif isinstance(target, build.BuildTarget): for ldep in target.link_targets: - all_deps[ldep.get_id()] = ldep + if isinstance(ldep, build.CustomTargetIndex): + all_deps[ldep.get_id()] = ldep.target + else: + all_deps[ldep.get_id()] = ldep for ldep in target.link_whole_targets: - all_deps[ldep.get_id()] = ldep + if isinstance(ldep, build.CustomTargetIndex): + all_deps[ldep.get_id()] = ldep.target + else: + all_deps[ldep.get_id()] = ldep for obj_id, objdep in self.get_obj_target_deps(target.objects): all_deps[obj_id] = objdep for gendep in target.get_generated_sources(): @@ -1111,7 +1117,11 @@ class Vs2010Backend(backends.Backend): # Add more libraries to be linked if needed for t in target.get_dependencies(): - lobj = self.build.targets[t.get_id()] + if isinstance(t, build.CustomTargetIndex): + # We don't need the actual project here, just the library name + lobj = t + else: + lobj = self.build.targets[t.get_id()] linkname = os.path.join(down, self.get_target_filename_for_linking(lobj)) if t in target.link_whole_targets: # /WHOLEARCHIVE:foo must go into AdditionalOptions |