Make sure VS projects order is always the same in solution Solution file is being rewritten and reloaded by Visual Studio if projects order changes during 'gn gen' command. BUG=305761 Review URL: https://codereview.chromium.org/1667553003 Cr-Original-Commit-Position: refs/heads/master@{#373486} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 17be731c097793e928e8d146c0dc7c8611e856b9
diff --git a/tools/gn/visual_studio_writer.cc b/tools/gn/visual_studio_writer.cc index 968e046..951b81d 100644 --- a/tools/gn/visual_studio_writer.cc +++ b/tools/gn/visual_studio_writer.cc
@@ -236,6 +236,13 @@ return false; } + // Sort projects so they appear always in the same order in solution file. + // Otherwise solution file is rewritten and reloaded by Visual Studio. + std::sort(writer.projects_.begin(), writer.projects_.end(), + [](const SolutionEntry* a, const SolutionEntry* b) { + return a->path < b->path; + }); + writer.ResolveSolutionFolders(); return writer.WriteSolutionFile(err); }