Skip to content

Fix: Make arcana a PUBLIC dependency of AppRuntime#153

Closed
bghgary wants to merge 1 commit intoBabylonJS:mainfrom
bghgary:fix/arcana-public-link
Closed

Fix: Make arcana a PUBLIC dependency of AppRuntime#153
bghgary wants to merge 1 commit intoBabylonJS:mainfrom
bghgary:fix/arcana-public-link

Conversation

@bghgary
Copy link
Copy Markdown
Contributor

@bghgary bghgary commented Apr 14, 2026

Make arcana a PUBLIC dependency of AppRuntime.

The Bug

AppRuntime.h includes arcana/threading/cancellation.h and arcana/threading/dispatcher.h, but AppRuntime linked arcana as PRIVATE. Consumers of AppRuntime (like BabylonNative's UnitTests) didn't get arcana's include directories, causing build failures.

Root Cause

PR #149 (Merge WorkQueue into AppRuntime) moved arcana includes into the public AppRuntime.h header. The link visibility should have been updated to PUBLIC at the same time.

The Fix

Change PRIVATE arcana to PUBLIC arcana in Core/AppRuntime/CMakeLists.txt.

AppRuntime.h includes arcana/threading/cancellation.h and
arcana/threading/dispatcher.h in its public header. Consumers need
arcana's include directories to compile. Changed from PRIVATE to PUBLIC.

This was broken by BabylonJS#149 which moved arcana includes into the public
header when merging WorkQueue into AppRuntime.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 14, 2026 00:31
Copy link
Copy Markdown
Contributor

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 PR fixes a build-system visibility issue by making arcana a PUBLIC dependency of AppRuntime, ensuring consumers of AppRuntime receive arcana’s include directories when AppRuntime.h includes <arcana/...> headers.

Changes:

  • Update Core/AppRuntime/CMakeLists.txt to link arcana as PUBLIC instead of PRIVATE.

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

@bghgary
Copy link
Copy Markdown
Contributor Author

bghgary commented Apr 14, 2026

Closing — making arcana PUBLIC is wrong. The fix should hide arcana behind a pimpl pattern instead.

@bghgary bghgary closed this Apr 14, 2026
@bghgary
Copy link
Copy Markdown
Contributor Author

bghgary commented Apr 14, 2026

[Responded by Copilot on behalf of @bghgary] Closing - making arcana PUBLIC exposes implementation details in the public API. Will fix with pimpl pattern instead.

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.

2 participants