diff options
author | Andres Freund <andres@anarazel.de> | 2021-09-17 14:59:32 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2021-09-20 09:53:49 -0700 |
commit | a8370e6d3f17e34f2303ecb5679efae2d0fa18c8 (patch) | |
tree | 4a6dfb5ad5b7f84a88bfa5367502cdbf753654f4 /mesonbuild/backend/vs2010backend.py | |
parent | 4e41a6203fe2d5bc37d44216bcfd865d9575a819 (diff) | |
download | meson-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.py | 3 |
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): |