Fixed invalid CMakeSettings.json generation #4497
Merged
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.
I noticed that CMakeSettings.json is currently being generated with an invalid key when windows_buildenv.bat is used.
Visual Studio 19 therefore won't load it, and gives:
Failed to parse CMakeSettings.json. Bad JSON escape sequence: \=. Path 'configurations[0].variables[5].value', line 40, position 22.
The problem seems to be
CMAKE_PREFIX_PATH
is no longer setup in the bat file,So the line:
CALL :AddCMakeVar2CMakeSettings_JSON "CMAKE_PREFIX_PATH" "STRING" "!CMAKE_PREFIX_PATH:\=\\!"
Causes a line
"value": "\=\\",
in the CMakeSettings.json which isn't valid.My fix is to add a set back into the file matching one that was removed by an earlier commit, I'm not sure if its the best solution as I'm not sure what if anything
CMAKE_PREFIX_PATH
is used for. It's possible we may not need it and it can be removed?