Skip to content

Core - Support building with VS 2026#5251

Open
amaitland wants to merge 3 commits into
masterfrom
support/vs2026
Open

Core - Support building with VS 2026#5251
amaitland wants to merge 3 commits into
masterfrom
support/vs2026

Conversation

@amaitland
Copy link
Copy Markdown
Member

@amaitland amaitland commented May 26, 2026

Allow building with VS 2026, currently lib cef wrapper isn't compiled with VS2026, so VS2026 will still use the older VS2022 compiled .lib file.

Part of #5243

Summary by CodeRabbit

  • Chores
    • Updated build configuration defaults to target newer Visual Studio releases (now defaults to 2022 and adds support for 2026).
    • Adjusted platform toolset mappings to use newer toolsets by default and when targeting the 2026 build.
    • Removed obsolete guidance for older Visual Studio versions.
    • Updated build script options and validation to recognize the new targets and toolchains, and included the new target in the packaging flow.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 26, 2026

📝 Walkthrough

Walkthrough

MSBuild props and the PowerShell build script were updated to target VS2022 by default and add conditional support for Visual Studio 2026 with the v145 platform toolset; obsolete VS2019 guidance was removed and build targets/toolchain mappings updated.

Changes

Visual Studio 2026 Build Support

Layer / File(s) Summary
Visual Studio version targeting updates
CefSharp.props
VisualStudioProductVersion defaults to 2022 and conditionally becomes 2026 when $(VisualStudioVersion) is 18.0 with the VS2026 wrapper library; PlatformToolset defaults to v143 and conditionally becomes v145 for the same condition; obsolete TODO/commented guidance for older VS versions removed.
Build script toolchain and target updates
build.ps1
Top-level Target validation adds vs2026 (replacing vs2019), BuildSolution/VSX accept v145 and v143 (replacing v142/v143), v145 maps to VS_VER=18 / VS_OFFICIAL_VER=2026 / VS_PRE=-prerelease, a vswhere.exe comment was updated, and the end-of-script switch adds a vs2026 case invoking VSX v145.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Poem

A rabbit nudges the build to explore,
New toolsets and versions open a door,
VS2026 on the rise,
With v145 ready to prize,
Hooray! The compile hops forward once more. 🐇

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete, missing required sections like Fixes, Summary, Changes, How Has This Been Tested, and the Types of changes/Checklist checkboxes from the template. Complete the PR description by filling in all required template sections: add issue number under Fixes, expand Summary and Changes sections, describe testing details, and mark appropriate checkboxes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding support for Visual Studio 2026 to the build configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch support/vs2026

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.

@AppVeyorBot
Copy link
Copy Markdown

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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
build.ps1 (1)

175-175: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix indentation to use spaces consistently.

Line 175 uses tab character(s) for indentation while the rest of the file uses spaces. PowerShell scripts should use consistent indentation.

🔧 Proposed fix
-			$VS_PRE = "-prerelease";
+            $VS_PRE = "-prerelease";
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@build.ps1` at line 175, The line setting $VS_PRE = "-prerelease" uses a tab
for indentation while the rest of the script uses spaces; replace the leading
tab characters before the assignment with the same number of spaces used
elsewhere in the file (match the existing indentation style) so the $VS_PRE
assignment uses consistent space-based indentation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@build.ps1`:
- Line 175: The line setting $VS_PRE = "-prerelease" uses a tab for indentation
while the rest of the script uses spaces; replace the leading tab characters
before the assignment with the same number of spaces used elsewhere in the file
(match the existing indentation style) so the $VS_PRE assignment uses consistent
space-based indentation.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 98b14901-5249-47de-99cf-02137b92a772

📥 Commits

Reviewing files that changed from the base of the PR and between beb8c73 and 44603e2.

📒 Files selected for processing (1)
  • build.ps1

@AppVeyorBot
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants