Skip to content

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

Merged
pmeems merged 2 commits into
cmake-phase-5-vs-github-actionsfrom
cmake-phase-6-documentation
Nov 13, 2026
Merged

pmeems merged 2 commits into
cmake-phase-5-vs-github-actionsfrom
cmake-phase-6-documentation

Conversation

@pmeems

@pmeems pmeems commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

Motivation

Make CMake the documented primary native build while keeping the legacy MSBuild workflow available during transition.

Changes

  • Document prerequisites, vcpkg resolution, command-line builds, CLion setup, Visual Studio, CTest, and the optional C# host.
  • Record the legacy-build decision gate: four consecutive weeks of green CI on both systems, with a 2027-01-15 review target.

Validation

  • git diff --check and local Markdown link-target checks passed.
  • Native build and tests were not run because this change is documentation-only.

- Make CMake the default contributor build path

- Document CLion, CTest, and legacy MSBuild workflows

- Record the legacy-build review gate

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

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.

🟡 Changes recommended

The documentation drops required legacy ActiveX validation before CMake supports that suite and gives misleading activation-verification and SDK-selection guidance.

3 open issues
What changed in this PR

Makes CMake the documented primary native build for MapWinGIS6 while retaining MSBuild during the transition. This PR changes documentation only.

Changes:

  • Updates build and test instructions to use CMake presets and CTest.
  • Expands prerequisites, IDE setup, optional sample targets, and troubleshooting guidance.
  • Defines the legacy-build removal gate, including four consecutive weeks of green CI and a 2027-01-15 review target.

Native builds and tests were not run during this review.

File Description
README.md Makes CMake the quick-start workflow and preserves MSBuild instructions.
docs/​TESTING.md Expands CTest commands, reporting, and CLion test guidance.
docs/​CMAKE-MIGRATION.md Records the legacy-build decision gate and outstanding verification.
docs/​BUILDING.md Documents CMake setup, dependencies, IDE workflows, and troubleshooting.
AGENTS.md Changes the standard validation workflow to CMake and non-interactive CTest.

Review effort: Balanced

Comment thread AGENTS.md Resolved
Comment thread docs/BUILDING.md Resolved
Comment thread docs/BUILDING.md Resolved

@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.

Notes on out-of-diff locations (not line-commentable): docs/BUILDING.md ~line 154 "Output: bin<Configuration><Platform>" in the general "Configurations and platforms" table is MSBuild-specific output; consider noting CMake's out\b layout there. docs/TESTING.md lines 11–21 "## Running" documents only the legacy test executables; consider scoping it to the MSBuild build now that CTest is the primary path.

Comment thread README.md Resolved
Comment thread docs/BUILDING.md Resolved
Comment thread docs/TESTING.md Resolved
- Clarify CMake and legacy ActiveX test coverage.
- Correct SDK, activation, CMake variable, and output guidance.
- Align CTest preset examples and scope legacy test instructions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pmeems
pmeems merged commit c7bb930 into development Nov 13, 2026
5 checks passed
@pmeems
pmeems deleted the cmake-phase-6-documentation branch November 13, 2026 12:28
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