diff options
author | Nicolas Schneider <nioncode+git@gmail.com> | 2016-03-17 12:37:38 +0100 |
---|---|---|
committer | Nicolas Schneider <nioncode+git@gmail.com> | 2016-03-17 12:37:38 +0100 |
commit | d72cc6e6f84812c2fb2d43bc823e36a01f594616 (patch) | |
tree | 3138c1854304f8b39d35ec9dc1d838faf1dde801 /mesonbuild/backend/vs2010backend.py | |
parent | a3004652eaa8eef877ccf009e7a6ec8e32ad3475 (diff) | |
download | meson-d72cc6e6f84812c2fb2d43bc823e36a01f594616.zip meson-d72cc6e6f84812c2fb2d43bc823e36a01f594616.tar.gz meson-d72cc6e6f84812c2fb2d43bc823e36a01f594616.tar.bz2 |
vs2010: fix object extraction
1. Dependencies must be set up with the target's id instead of its
basename.
2. Extracted object output file names must not include the directory
prefix, because MSBuild puts all object files into the same directory
and names them srcfilename.obj instead of dir/filename.obj or
dir_filename.obj.
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
-rw-r--r-- | mesonbuild/backend/vs2010backend.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index a72681b..5a9211f 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -36,7 +36,7 @@ class Vs2010Backend(backends.Backend): super().__init__(build) self.project_file_version = '10.0.30319.1' # foo.c compiles to foo.obj, not foo.c.obj - self.source_suffix_in_obj = False + self.source_suffix_in_objs = False def generate_custom_generator_commands(self, target, parent_node): all_output_files = [] @@ -116,7 +116,7 @@ class Vs2010Backend(backends.Backend): result = {} for o in obj_list: if isinstance(o, build.ExtractedObjects): - result[o.target.get_basename()] = True + result[o.target.get_id()] = True return result.keys() def determine_deps(self, p): @@ -492,7 +492,7 @@ class Vs2010Backend(backends.Backend): rel_path = self.relpath(lobj.subdir, target.subdir) linkname = os.path.join(rel_path, lobj.get_import_filename()) additional_links.append(linkname) - for o in self.flatten_object_list(target, down): + for o in self.flatten_object_list(target, down, include_dir_names=False): assert(isinstance(o, str)) additional_links.append(o) if len(additional_links) > 0: |