Skip to content

Fix system rtmidi library usage#4255

Draft
dawkagaming wants to merge 1 commit into
aethersdr:mainfrom
dawkagaming:fix-system-rtmidi
Draft

Fix system rtmidi library usage#4255
dawkagaming wants to merge 1 commit into
aethersdr:mainfrom
dawkagaming:fix-system-rtmidi

Conversation

@dawkagaming

Copy link
Copy Markdown
Contributor

Hello,

In the newest version it hasn't been changed to inherit the rtmidi dependency when using the system library, so here's the fix 😄

Thanks,
Dawid Kulas
SP9SKA

@dawkagaming
dawkagaming requested a review from a team as a code owner July 15, 2026 10:50

@aethersdr-agent aethersdr-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks Dawid — this is a correct, well-targeted fix. MidiControlManager.h includes RtMidi.h, and it's a PUBLIC header of aethercore (the executable and midi_settings_test compile against it). The bundled branch already accounts for this with target_include_directories(aethercore PUBLIC third_party/rtmidi). The system branch was the asymmetric one: linking PkgConfig::rtmidi as PRIVATE kept the imported target's INTERFACE_INCLUDE_DIRECTORIES from propagating, so any aethercore consumer including MidiControlManager.hRtMidi.h would fail to resolve the header under -DUSE_SYSTEM_RTMIDI=ON. Switching to PUBLIC restores parity with the bundled path and propagates the include path (and link) transitively.

No blocking issues, no polish notes — the change is minimal and matches the existing convention in the adjacent block. Commit is signed, so nothing to flag there.

One thing worth confirming (not a blocker, and outside this diff): the CI matrix likely builds with the default USE_SYSTEM_RTMIDI=OFF, so this path may not be exercised automatically. If you built locally with -DUSE_SYSTEM_RTMIDI=ON before and after, mentioning that in the PR gives maintainers the demonstrated-fix evidence they like to see.


🤖 aethersdr-agent · cost: $4.1699 · model: claude-opus-4-8

@dawkagaming

Copy link
Copy Markdown
Contributor Author

I checked it locally and with PRIVATE it fails to build and when I changed it to PUBLIC, it worked fine, compiled and ran, so it's okay.

@jensenpat

Copy link
Copy Markdown
Collaborator

Holding for next's week release.

@jensenpat
jensenpat marked this pull request as draft July 17, 2026 16:19
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