diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bfcab0f..49910a21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Fixed +- Correctly rename object files for absolute paths in MSVS generator. + ## [0.6.0] - 2020-10-13 ### Added diff --git a/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py index fadd932f..e05a8a78 100644 --- a/pylib/gyp/generator/msvs.py +++ b/pylib/gyp/generator/msvs.py @@ -3618,9 +3618,11 @@ def _AddSources2( # Always add an value to support duplicate # source file basenames. file_name = os.path.splitext(source)[0] + ".obj" - if (file_name.startswith("..\\")): + if os.path.isabs(file_name): + file_name = os.path.splitdrive(file_name)[1] + elif file_name.startswith("..\\"): file_name = re.sub(r"^(\.\.\\)+", "", file_name) - elif (file_name.startswith("$(")): + elif file_name.startswith("$("): file_name = re.sub(r"^\$\([^)]+\)\\", "", file_name) detail.append(["ObjectFileName", "$(IntDir)\\" + file_name]) grouped_sources[group].append([element, {"Include": source}] + detail)