Skip to content

Retargetting project for vs2026.#2005

Merged
nicolasnoble merged 2 commits intogrumpycoders:mainfrom
nicolasnoble:vs-2026
Apr 17, 2026
Merged

Retargetting project for vs2026.#2005
nicolasnoble merged 2 commits intogrumpycoders:mainfrom
nicolasnoble:vs-2026

Conversation

@nicolasnoble
Copy link
Copy Markdown
Member

No description provided.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 15, 2026

📝 Walkthrough

Walkthrough

This pull request updates the C/C++ compiler toolset across 39 Visual Studio project files from v143 to v145 for standard build configurations. Additionally, a global compiler options file adds UTF-8 encoding validation flags. No source code, logic, or public API declarations are modified.

Changes

Cohort / File(s) Summary
Toolset Update (3 Configurations)
vsprojects/ImFileDialog/ImFileDialog.vcxproj, vsprojects/Lua/Lua.vcxproj, vsprojects/SPU/SPU.vcxproj, vsprojects/capstone/capstone_static.vcxproj, vsprojects/cdrom/cdrom.vcxproj, vsprojects/clip/clip.vcxproj, vsprojects/core/core.vcxproj, vsprojects/fmt/fmt.vcxproj, vsprojects/freetype/freetype.vcxproj, vsprojects/gtest/gtest.vcxproj, vsprojects/gui/gui.vcxproj, vsprojects/imgui-glfw-ogl3/imgui-glfw-ogl3.vcxproj, vsprojects/imgui_lua_bindings/imgui_lua_bindings.vcxproj, vsprojects/imgui_md/imgui_md.vcxproj, vsprojects/libcurl/libcurl.vcxproj, vsprojects/libuv/libuv.vcxproj, vsprojects/llhttp/llhttp.vcxproj, vsprojects/lpeg/lpeg.vcxproj, vsprojects/luv/luv.vcxproj, vsprojects/main/main.vcxproj, vsprojects/mainthunk/mainthunk.vcxproj, vsprojects/md4c/md4c.vcxproj, vsprojects/multipart-parser/multipart-parser.vcxproj, vsprojects/psyq-obj-parser/psyq-obj-parser.vcxproj, vsprojects/soft/soft.vcxproj, vsprojects/support/support.vcxproj, vsprojects/supportpsx/supportpsx.vcxproj, vsprojects/tests/memoryleakdetector/memoryleakdetector.vcxproj, vsprojects/tests/pcsxrunner/pcsxrunner.vcxproj, vsprojects/tests/support/testsupport.vcxproj, vsprojects/zep/zep.vcxproj, vsprojects/zlib/zlib.vcxproj
Updated PlatformToolset from v143 to v145 for Debug|x64, Release|x64, and ReleaseWithTracy|x64 configurations.
Toolset Update (2 Configurations)
vsprojects/authoring/authoring.vcxproj, vsprojects/exe2elf/exe2elf.vcxproj, vsprojects/exe2iso/exe2iso.vcxproj, vsprojects/modconv/modconv.vcxproj, vsprojects/pcsx-wrapper/pcsx-wrapper.vcxproj, vsprojects/ps1-packer/ps1-packer.vcxproj
Updated PlatformToolset from v143 to v145 for Debug|x64 and Release|x64 configurations.
Toolset Update (Multi-Platform)
vsprojects/nanovg/nanovg.vcxproj
Updated PlatformToolset from v143 to v145 for both Win32 and x64 configurations (Debug, Release, ReleaseWithTracy); ClangCL configurations unchanged.
Toolset & Platform-Specific
vsprojects/tracy/tracy.vcxproj
Updated PlatformToolset from v143 to v145 for Enabled|x64 and Disabled|x64 configurations.
Mixed Toolset Update
vsprojects/uriparser/uriparser.vcxproj
Updated PlatformToolset from v143 to v145 for all x64 build configurations including ReleaseWithClangCL|x64.
Compiler Options Enhancement
vsprojects/common.props
Added UTF-8 encoding validation flags (/utf-8 /validate-charset) to <AdditionalOptions> in C/C++ compile settings.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Possibly related PRs

  • grumpycoders/pcsx-redux#1852: Modifies the same Visual Studio project files; previous PR updated LuaJIT package versions in the same .vcxproj files now being updated for toolset changes.

Suggested labels

size/XXL

Poem

🐰 A toolchain upgrade, swift and clean,
From v143 to v145's gleam!
Across thirty-nine files we hop and bound,
UTF-8 validation now safe and sound,
The build system springs forward with cheer!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive No description was provided by the author, making it impossible to assess relevance to the changeset. Consider adding a brief description explaining the purpose of updating the platform toolset from v143 to v145 across all project files.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Retargetting project for vs2026' directly describes the main change: updating Visual Studio project files from toolset v143 to v145 for VS2026.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
vsprojects/freetype/freetype.vcxproj (1)

980-1000: Consider centralizing MSVC toolset selection in shared props.

This value is duplicated across many projects/configurations; defining it once in vsprojects/common.props (and only overriding ClangCL where needed) would reduce future retarget churn.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vsprojects/freetype/freetype.vcxproj` around lines 980 - 1000, The
PlatformToolset value is duplicated across configurations; move the default
PlatformToolset declaration into vsprojects/common.props (e.g., set
<PlatformToolset>v145</PlatformToolset> as the shared default) and remove the
repeated <PlatformToolset> entries from project PropertyGroup blocks (including
Release|x64 and ReleaseWithTracy|x64), leaving only explicit overrides where
necessary (keep the ClangCl override in the ReleaseWithClangCL|x64
PropertyGroup). Ensure projects read the shared property by importing
common.props so only configurations requiring ClangCl explicitly set
<PlatformToolset>ClangCl</PlatformToolset>.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@vsprojects/freetype/freetype.vcxproj`:
- Around line 980-1000: The PlatformToolset value is duplicated across
configurations; move the default PlatformToolset declaration into
vsprojects/common.props (e.g., set <PlatformToolset>v145</PlatformToolset> as
the shared default) and remove the repeated <PlatformToolset> entries from
project PropertyGroup blocks (including Release|x64 and ReleaseWithTracy|x64),
leaving only explicit overrides where necessary (keep the ClangCl override in
the ReleaseWithClangCL|x64 PropertyGroup). Ensure projects read the shared
property by importing common.props so only configurations requiring ClangCl
explicitly set <PlatformToolset>ClangCl</PlatformToolset>.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a6c7d202-9e4a-4f04-8705-226cd3ca4a65

📥 Commits

Reviewing files that changed from the base of the PR and between 1c8b9cc and b9bc6ff.

📒 Files selected for processing (42)
  • vsprojects/ImFileDialog/ImFileDialog.vcxproj
  • vsprojects/Lua/Lua.vcxproj
  • vsprojects/SPU/SPU.vcxproj
  • vsprojects/authoring/authoring.vcxproj
  • vsprojects/capstone/capstone_static.vcxproj
  • vsprojects/cdrom/cdrom.vcxproj
  • vsprojects/clip/clip.vcxproj
  • vsprojects/common.props
  • vsprojects/core/core.vcxproj
  • vsprojects/exe2elf/exe2elf.vcxproj
  • vsprojects/exe2iso/exe2iso.vcxproj
  • vsprojects/fmt/fmt.vcxproj
  • vsprojects/freetype/freetype.vcxproj
  • vsprojects/gtest/gtest.vcxproj
  • vsprojects/gui/gui.vcxproj
  • vsprojects/imgui-glfw-ogl3/imgui-glfw-ogl3.vcxproj
  • vsprojects/imgui_lua_bindings/imgui_lua_bindings.vcxproj
  • vsprojects/imgui_md/imgui_md.vcxproj
  • vsprojects/libcurl/libcurl.vcxproj
  • vsprojects/libuv/libuv.vcxproj
  • vsprojects/llhttp/llhttp.vcxproj
  • vsprojects/lpeg/lpeg.vcxproj
  • vsprojects/luv/luv.vcxproj
  • vsprojects/main/main.vcxproj
  • vsprojects/mainthunk/mainthunk.vcxproj
  • vsprojects/md4c/md4c.vcxproj
  • vsprojects/modconv/modconv.vcxproj
  • vsprojects/multipart-parser/multipart-parser.vcxproj
  • vsprojects/nanovg/nanovg.vcxproj
  • vsprojects/pcsx-wrapper/pcsx-wrapper.vcxproj
  • vsprojects/ps1-packer/ps1-packer.vcxproj
  • vsprojects/psyq-obj-parser/psyq-obj-parser.vcxproj
  • vsprojects/soft/soft.vcxproj
  • vsprojects/support/support.vcxproj
  • vsprojects/supportpsx/supportpsx.vcxproj
  • vsprojects/tests/memoryleakdetector/memoryleakdetector.vcxproj
  • vsprojects/tests/pcsxrunner/pcsxrunner.vcxproj
  • vsprojects/tests/support/testsupport.vcxproj
  • vsprojects/tracy/tracy.vcxproj
  • vsprojects/uriparser/uriparser.vcxproj
  • vsprojects/zep/zep.vcxproj
  • vsprojects/zlib/zlib.vcxproj

@nicolasnoble nicolasnoble merged commit fa68263 into grumpycoders:main Apr 17, 2026
20 checks passed
@nicolasnoble nicolasnoble deleted the vs-2026 branch April 17, 2026 01:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant