Skip to content

Add vcpkg dependency management with Bullet - #5

Merged
sstarosz merged 1 commit into
mainfrom
feature/physics-build-infra
Aug 9, 2026
Merged

Add vcpkg dependency management with Bullet#5
sstarosz merged 1 commit into
mainfrom
feature/physics-build-infra

Conversation

@sstarosz

@sstarosz sstarosz commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Adds vcpkg dependency management with Bullet 3.25, extracted from feature/physics-system (PR #3).

Note: this branch is built on top of PR #4 (fix/cmake-build-fixes), so until #4 merges the diff also includes its changes (Maya SDK resolution fix + preset cleanup). Once #4 is merged, this PR shrinks to just the vcpkg changes below.

Changes

Dependency management

  • vcpkg.json (new) — Bullet 3.25 (float precision) as the first C/C++ dependency, with a pinned builtin-baseline.
  • CMakeLists.txt — fails with clear instructions when no CMake toolchain is configured, then resolves Bullet via find_package(Bullet CONFIG REQUIRED).
  • CMakePresets.json — adds the hidden with-vcpkg preset that activates the vcpkg toolchain from $VCPKG_ROOT; all maya* presets inherit it.

⚠️ Behavioral change: the maya* presets now require a bootstrapped vcpkg with VCPKG_ROOT set (clear toolchain error otherwise). This is intentional and documented.

CI & housekeeping

  • .github/workflows/pr-checks.yml / release.yml — set up vcpkg (lukka/run-vcpkg@v11) before configuring.
  • .gitignore — ignore third_party/ and vcpkg_installed/.
  • docs/CPPDevelopment.md — vcpkg setup section + "vcpkg is not configured" troubleshooting entry.
  • README.md — vcpkg prerequisite + note that deps auto-install on first configure.
  • CHANGELOG.mdAdded entry for vcpkg dependency management.
  • tests/CMakeLists.txt — drop the stale "Re-enable the CI preset (ci)" comment (that preset is removed in Fix Maya SDK resolution and clean up CMake presets #4).

Not in this PR

  • add_subdirectory(mmd/core) + the Maya-free mmd_core engine and its C++ unit tests → next PR (core engine).
  • Native C++ node / commands / Python import wiring → follow-on PRs.

Testing

  • CI (pr-checks.yml) exercises the vcpkg toolchain end-to-end (configure + build with Bullet) on this PR.

@sstarosz sstarosz changed the title Build: add vcpkg dependency management with Bullet Add vcpkg dependency management with Bullet Aug 9, 2026
@sstarosz sstarosz added the Infrastructure Build infrastructure label Aug 9, 2026
@sstarosz
sstarosz changed the base branch from fix/cmake-build-fixes to main August 9, 2026 18:59
- vcpkg.json: add Bullet 3.25 (float precision) as the first C/C++ dependency.
- CMakeLists.txt: fail with clear instructions when no CMake toolchain is
  configured, then resolve Bullet via find_package(Bullet CONFIG REQUIRED).
- CMakePresets.json: add the hidden with-vcpkg preset that activates the
  vcpkg toolchain from \, and make all maya* presets inherit it.
- .github/workflows: set up vcpkg (lukka/run-vcpkg) in pr-checks and release.
- .gitignore: ignore third_party/ and vcpkg_installed/.
- docs/CPPDevelopment.md: document vcpkg setup + troubleshooting.
- README.md: list vcpkg as a prerequisite and note auto-install of deps.
- CHANGELOG.md: note vcpkg dependency management under [Unreleased].
- tests/CMakeLists.txt: drop the stale 'Re-enable the CI preset (ci)' comment
  (the ci preset was removed in PR #4).

Part of the feature/physics-system (PR #3) split — stacked on PR #4
(fix/cmake-build-fixes).
@sstarosz
sstarosz force-pushed the feature/physics-build-infra branch from b261037 to 0f68a2e Compare August 9, 2026 19:04
@sstarosz
sstarosz merged commit ce6ead3 into main Aug 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Infrastructure Build infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant