Change tools/utils/sourceList.py to always output posix paths. #1055
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:
PR Description
What type of PR is this? (Check one of the boxes below)
What does this pull request do?
Fixes the script so that it always outputs paths with forward slashes even on Windows when using a Windows native Python build instead of the msys2/cygwin one. Forward slash paths are needed because this is the form qmake/cmake uses internally and is what is expected when they call this build script.
Have you tested your changes (if applicable)? If so, how?
Yes. Verified cmake build still works via Tests action. Verified qmake build still works via Build installer action. Manually verified a cmake build inside VS Code works with both msys2 python and Windows native python.
Futher details of this pull request
While technically this isn't needed given our current build scripts, it is helpful to actually have the script output the intended path separators independent of which python is being used. The use of os.path.normpath() introduces the python build dependent behavior as part of its normalization logic on Windows. The PurePath code simply allows us to reliably convert the separators back to the posix style after normalization.