aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/vs2010backend.py
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2021-09-17 14:59:32 -0700
committerAndres Freund <andres@anarazel.de>2021-09-20 09:53:49 -0700
commita8370e6d3f17e34f2303ecb5679efae2d0fa18c8 (patch)
tree4a6dfb5ad5b7f84a88bfa5367502cdbf753654f4 /mesonbuild/backend/vs2010backend.py
parent4e41a6203fe2d5bc37d44216bcfd865d9575a819 (diff)
downloadmeson-a8370e6d3f17e34f2303ecb5679efae2d0fa18c8.zip
meson-a8370e6d3f17e34f2303ecb5679efae2d0fa18c8.tar.gz
meson-a8370e6d3f17e34f2303ecb5679efae2d0fa18c8.tar.bz2
backends/vs: Set ObjectFileName for generated sources.
When a static library B to a static library A with generated sources, B directly references the object file corresponding to the generated source in A. For that reference in B object_filename_from_source() is used. But A did not specify the object file name, ending up with cl.exe's default. Fixes: #9235
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
-rw-r--r--mesonbuild/backend/vs2010backend.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index 4dc4679..87aef93 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -1342,6 +1342,8 @@ class Vs2010Backend(backends.Backend):
self.add_additional_options(lang, inc_cl, file_args)
self.add_preprocessor_defines(lang, inc_cl, file_defines)
self.add_include_dirs(lang, inc_cl, file_inc_dirs)
+ s = File.from_built_file(target.get_subdir(), s)
+ ET.SubElement(inc_cl, 'ObjectFileName').text = "$(IntDir)" + self.object_filename_from_source(target, s)
for lang in pch_sources:
impl = pch_sources[lang][1]
if impl and path_normalize_add(impl, previous_sources):
@@ -1356,6 +1358,7 @@ class Vs2010Backend(backends.Backend):
else:
inc_dirs = file_inc_dirs
self.add_include_dirs(lang, inc_cl, inc_dirs)
+ #XXX: Do we need to set the object file name name here too?
previous_objects = []
if self.has_objects(objects, additional_objects, gen_objs):