Skip to content

Build Windows release binaries via CMAKE_POLICY_VERSION_MINIMUM - #1

Closed
Ramius1701 wants to merge 1 commit into
intelligentwolf:mainfrom
Ramius1701:windows-ci-build
Closed

Ramius1701 wants to merge 1 commit into
intelligentwolf:mainfrom
Ramius1701:windows-ci-build

Conversation

@Ramius1701

Copy link
Copy Markdown

Summary

  • Unblocks the Windows CI build the release workflow's own comment described as blocked, by setting CMAKE_POLICY_VERSION_MINIMUM=3.5 for the cargo build step.
  • Adds a windows-latest / x86_64-pc-windows-msvc entry to the release matrix.
  • Documents the same fix in the README's "Building from source" section for anyone building locally on Windows.

Why this works

The opus crate vendors libopus and builds it via cmake. libopus's CMakeLists.txt still declares cmake_minimum_required(VERSION 3.1), which CMake 4 (what windows-latest ships) refuses outright: "Compatibility with CMake < 3.5 has been removed from CMake."

CMAKE_POLICY_VERSION_MINIMUM is CMake's own documented escape hatch for exactly this situation — it configures the project as if it had declared at least that policy version, rather than hard-erroring. The removed comment framed this as two separate failures (the CMake-4 rejection, and CMake 3.31 not recognizing the current Visual Studio generator name) needing two separate fixes. It turns out a cmake new enough to accept the env var is also new enough to recognize current Visual Studio versions, so this one change resolves both.

Test plan

Verified locally on Windows (Rust 1.98.1, CMake 4.4.3, VS 2026 Community's MSVC toolset):

  • cargo build --release succeeds with only CMAKE_POLICY_VERSION_MINIMUM=3.5 set
  • cargo test --release — 31/31 pass
  • cargo run --release --example two_clients — real SDP offer/answer, real Opus encode/decode, real per-listener mixing all pass (PASS, AUDIO_MIXED=true ROSTER_DELIVERED=true LEAVE_NOTIFIED=true)
  • CI run on this PR (windows-latest matrix job)

macOS is left alone — the same fix likely applies there too, but I have no Mac to verify it on, so I didn't touch that part of the matrix.

🤖 Generated with Claude Code

The opus crate vendors libopus and builds it with cmake. libopus's
CMakeLists.txt still declares cmake_minimum_required(VERSION 3.1), which
CMake 4 (what windows-latest ships) refuses outright. Setting
CMAKE_POLICY_VERSION_MINIMUM=3.5 is CMake's own documented escape hatch
for exactly this, and a cmake new enough to need the env var also
recognizes current Visual Studio versions as a generator — so it turns
out to fix both halves of the problem the removed comment described, not
just the CMake-4 half.

Verified locally: cargo build --release, cargo test (31/31), and the
two_clients end-to-end example (real SDP offer/answer, real Opus
encode/decode, real per-listener mixing) all pass on Windows with this
one env var set and nothing else changed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ramius1701 added a commit to Ramius1701/OpenSim-Confluence that referenced this pull request Sep 13, 2026
Points the already-built os-webrtc-janus addon at ConfluenceVoice
(WebRtcVoiceServiceConnector) instead of a Janus gateway, via a new
bin/config/os-webrtc-janus.ini. Verified with a real region boot: the
addon loads the config and enables WebRtcVoiceServiceConnector for
both spatial and non-spatial voice.

ROADMAP.md: moves wolfvoice out of "Explicitly out of scope" (excluded
2026-09-09, no reason recorded) into "In progress" now that the
operator has explicitly asked to resume, with today's work recorded.

PROJECT_LOG.md: full account of the wolfvoice Windows CI fix
(CMAKE_POLICY_VERSION_MINIMUM=3.5, submitted upstream as
intelligentwolf/wolfvoice#1), the new independent ConfluenceVoice
project, and the wiring/verification steps above.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Ramius1701

Copy link
Copy Markdown
Author

Closing this: the downstream project is using wolfvoice as a read-only donor and won't be maintaining a fork. The CMAKE_POLICY_VERSION_MINIMUM=3.5 note in the diff still fixes the Windows build if it's useful to you.

@Ramius1701 Ramius1701 closed this Sep 26, 2026
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