Skip to content

U/sgriffin/vs2026#929

Open
stephenegriffin wants to merge 30 commits intomainfrom
u/sgriffin/vs2026
Open

U/sgriffin/vs2026#929
stephenegriffin wants to merge 30 commits intomainfrom
u/sgriffin/vs2026

Conversation

@stephenegriffin
Copy link
Member

No description provided.

- Create Directory.Build.props for centralized build configuration
- Update solution files to VS 18 format
- Update .vsconfig to require Windows 11 SDK (10.0.22621.0)
- Centralize settings: PlatformToolset, WindowsTargetPlatformVersion,
  LanguageStandard, WarningLevel, TreatWarningAsError, SDLCheck,
  SpectreMitigation, ControlFlowGuard, GuardEHContMetadata
- Remove redundant settings from individual .vcxproj files
- Remove Guardian .gdn ruleset references (CI-only dependency)
- Disable clang-tidy for Prefast configs (conflicts with /analyze)
- Fix C2360 switch/case scoping in PaneHeader.cpp

Breaking change: Requires Visual Studio 2026
- Auto-detect MSBuild/vstest via vswhere (no Developer Command Prompt needed)
- Default build: Debug_Unicode x64
- Full configuration matrix: debug/release, unicode/ansi, x64/x86
- Prefast and Fuzz build support
- Matching test scripts for all configurations
- Clean scripts for individual or all configurations
- Replace direct msbuild calls with npm script tasks
- Auto-detect MSBuild via vswhere (no Developer Command Prompt needed)
- Default F5 launches Debug_Unicode x64
- Consistent naming: Debug/Release, ANSI suffix for non-Unicode, x64/x86
- Full matrix for MFCMAPI and MrMAPI debug targets
- Fuzz (x64) and Fuzz (x86) debug targets
- Uses SmartViewTestData as initial corpus
- Configures 60 second default timeout
- README: Focus on end users - download guidance based on Outlook bitness,
  help/feedback links, move all dev content to CONTRIBUTING.md
- CONTRIBUTING: Add VS 2026 requirements, npm build instructions, fuzzing link
- docs/Fuzzing.md: New comprehensive fuzzing guide with quick start
- launch.json: Fix fuzz configs to use correct corpus directory (fuzz/corpus)
  and add artifact_prefix for crash outputs
@stephenegriffin stephenegriffin requested a review from a team as a code owner February 6, 2026 20:27
@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Test Results

    8 files  ±0      8 suites  ±0   52s ⏱️ -2s
  251 tests ±0    251 ✅ ±0  0 💤 ±0  0 ❌ ±0 
2 008 runs  ±0  2 008 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 7068ead. ± Comparison against base commit 9644ca4.

♻️ This comment has been updated with latest results.

stephenegriffin and others added 19 commits February 6, 2026 15:31
- scripts/Check-Prerequisites.ps1: Validates VS 2026, SDK, toolset, Spectre libs, Node.js
- .vscode/extensions.json: Recommend C++ and PowerShell extensions
- package.json: Add "prereq" and "fuzz:corpus" scripts
- CONTRIBUTING.md: Document prereq verification and .vsconfig import
- docs/Fuzzing.md: Update to use npm run fuzz:corpus
- Switch to windows-2025-vs2026 runner (preview until May 4 GA)
- Move SmartViewTests generated files to UnitTest/gen/ for proper IDE visibility
- Add "Configuration Files" filter with README, .vsconfig, package.json, etc.
- Remove Prefast/Prefast_Unicode configs from solution and all vcxproj files
- Enable on-demand Prefast via npm: `npm run build:prefast:x64`
  (uses /p:EnablePREfast=true on Release_Unicode)
- Update Directory.Build.props for property-based Prefast enablement
- Remove duplicate .clang-format reference from MrMAPI project
- Fix Build-SmartViewTests.ps1 to use relative paths and auto-create output dir

Reduces build configs from 14 to 10. Code is clean under /analyze with /WX.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request upgrades the project from Visual Studio 2022 (v143) to Visual Studio 2026 (v145), adds ARM64EC platform support, and improves the development environment with comprehensive build scripts and prerequisite validation.

Changes:

  • Upgrade to Visual Studio 2026 with v145 toolset and Windows 11 SDK (10.0.22621.0)
  • Add ARM64EC platform configurations across all projects
  • Replace Prefast build configurations with command-line /p:EnablePREfast=true approach
  • Enhance developer experience with npm build scripts, prerequisite validation, and improved VS Code integration

Reviewed changes

Copilot reviewed 28 out of 30 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Directory.Build.props Centralizes toolset (v145), SDK version (10.0.22621.0), and compiler settings
scripts/Check-Prerequisites.ps1 Validates VS 2026, SDK, toolset, and Spectre libraries installation
scripts/Add-ARM64EC.ps1 Automates addition of ARM64EC platform configurations to projects
package.json Adds comprehensive npm build, test, and clean scripts for all configurations
*.vcxproj Removes v143 toolset, Spectre settings, and Prefast configs (now in Directory.Build.props)
*.vcxproj Adds ARM64EC platform configurations with conditional CETCompat and EnableASAN
.vsconfig Updates to VS 2026 components including ARM64EC MFC/ATL and Windows 11 SDK
.vscode/* Simplifies tasks/launch configs to use npm scripts instead of direct msbuild
.github/workflows/* Updates CI to use windows-2025-vs2026 runner and build ARM64EC
README.md Improves download section with clear x64/x86 guidance
CONTRIBUTING.md Adds comprehensive build requirements and getting started instructions
docs/Fuzzing.md New documentation for fuzzing with libFuzzer

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 28 out of 30 changed files in this pull request and generated 9 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 27 out of 29 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

1 participant

Comments