-
Notifications
You must be signed in to change notification settings - Fork 502
Fix lowercase include paths on Mac #4325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix lowercase include paths on Mac #4325
Conversation
@sean-mcmanus @Colengms Any thoughts on this PR? It sounds like it's possible that the C++ extension should be treating mac paths as case-insensitive on the C++ side |
@gcampbell-msft We treat mac paths as case sensitive. We only normalize (change the case) of paths on Windows (we change it to uppercase internally). The PR changes seems good to me. I don't think lowercasing paths on mac is a good idea. |
I'm happy to take this then @tringenbach could you make a changelog update and pull it up to date with |
4b14d09
to
4edd184
Compare
4edd184
to
7090763
Compare
@microsoft-github-policy-service agree |
Sure! How's that? |
@tringenbach Slightly updated, and approved, I will merge once tests and builds pass. Thanks! |
Already passed tests and build, just a merge conflict resolution for the changelog, merging. |
* Fix lowercase include paths on Mac * Update CHANGELOG for version 1.21 --------- Co-authored-by: Garrett Campbell <[email protected]>
* Fix lowercase include paths on Mac * Update CHANGELOG for version 1.21 --------- Co-authored-by: Garrett Campbell <[email protected]>
This change addresses item #1596
This changes the path normalization to not lowercase paths on Mac (darwin).
The purpose of this change
The C++ extension treats paths as case sensitive on MacOS. (In reality, sometimes they are, but it depends, usually not).
When CMakeTools converts them to lowercase and sends the include paths over, they don't work, and all the
#include
's that reference files in those paths get red squiggles.I do not understand why converting to lower case would be desirable, even if it didn't break. The OS is at least case preserving, so the"normalized or canonical form really is the form the mixed case.