Skip to content

Introduce CMake as the Primary Build System for MapWinGIS6 - #67

Open
pmeems wants to merge 3 commits into
cmake-phase-4-samples-runtime-deployment-stackedfrom
cmake-phase-5-vs-github-actions
Open

pmeems wants to merge 3 commits into
cmake-phase-4-samples-runtime-deployment-stackedfrom
cmake-phase-5-vs-github-actions

Conversation

@pmeems

@pmeems pmeems commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Phase 5 of the CMake migration, stacked on #65.

  • Add a Visual Studio 18 2026 CMake build/test matrix while retaining MSBuild CI and Ninja parity checks.
  • Upload CTest XML reports and Release runtime artifacts; include CMake inputs in vcpkg cache keys.
  • Resolve MIDL from the selected Windows SDK and document Visual Studio Open Folder use.

Local validation passed for CMake Visual Studio x64 Debug configure/build/CTest and the Debug x64 MSBuild build and tests. GitHub Actions and interactive Visual Studio checks remain pending.

- Add a preset-driven Visual Studio CMake matrix alongside MSBuild and Ninja parity.

- Upload CTest reports and Release artifacts; include CMake inputs in vcpkg cache keys.

- Resolve MIDL from the selected Windows SDK and document the Visual Studio Open Folder workflow.

- Refresh build memory for the CMake and CI transition.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pmeems
pmeems added this pull request to stack #42 November 12, 2026 16:45
@pmeems
pmeems requested a balanced review from Copilot November 12, 2026 16:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Local CLI validation covers only x64 Debug, leaving the Windows CI matrix, Release/Win32 builds, and interactive Visual Studio Open Folder target and test discovery unverified.

No open issues 🎉

What changed in this PR

Advances Phase 5 of the CMake migration, building on #65 by adding Visual Studio CMake CI coverage while retaining MSBuild validation and Ninja parity checks.

Changes:

  • Adds a Visual Studio CMake build/test matrix, test-report and Release artifact uploads, and CMake-aware cache keys.
  • Adds MIDL lookup hints using the Windows SDK selected by CMake.
  • Documents Visual Studio Open Folder usage and updates build memory to reflect CMake integration.
File Description
README.md Adds CMake prerequisites and introduces Visual Studio Open Folder usage.
docs/​BUILDING.md Explains generator requirements, Open Folder usage, and separate build outputs.
cmake/​MwgMidl.cmake Adds MIDL search paths for the selected Windows SDK.
.github/​workflows/​build.yml Adds Visual Studio CMake CI and artifact uploads while retaining existing checks.
.ai/​memory/​build/​windows.md Updates the documented CI matrix and platform requirements.
.ai/​memory/​build/​README.md Updates the CMake memory index description.
.ai/​memory/​build/​cmake.md Replaces outdated build status with CMake presets and CI integration details.

Review effort: Balanced

@Julian-MW Julian-MW left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Automated review. Final decision is with the human reviewer.

Comment thread .github/workflows/build.yml Resolved
Comment thread README.md Resolved
Comment thread docs/BUILDING.md Resolved
Comment thread .github/workflows/build.yml Resolved
pmeems and others added 2 commits November 12, 2026 19:00
- Respect an SDK selected by generated Visual Studio projects.

- Test legacy SDK defaults, overrides, and generated project selection.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Keep the CMake parity check name distinct from the Visual Studio matrix.

- Warn when CTest report artifacts are missing.

- Document CMake prerequisites and the conditional sample target.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

3 participants