JUCE icon indicating copy to clipboard operation
JUCE copied to clipboard

Fix include paths inconsistency in case vst2 sdk path is set

Open danra opened this issue 1 year ago • 3 comments
trafficstars

All include paths set by JUCE are regular, non-system ones, -except- if a vst2 sdk path is set, in which case both the vst2 sdk path and the vst3 sdk path (custom or not) become system includes. This commit removes the exceptional behavior.

The sdks include paths order (VST3 preceding VST2) is kept.

Note: The approach in the commit assumes noone would need a juce_vst2_headers target in addition to the juce_vst3_headers one. If that's not the case, it's easy to modify the commit to instead define such an additional target.

danra avatar Apr 12 '24 02:04 danra

What CMake version, CMake generator, and compiler version produces the behaviour you're seeing?

reuk avatar May 01 '24 17:05 reuk

Never mind, I can repro with Visual Studio. I think the fix is to add "SYSTEM FALSE" or "IMPORTED_NO_SYSTEM TRUE" to the plugin sdk targets' properties.

reuk avatar May 01 '24 18:05 reuk

@reuk Why? I mean, that would work, but my method removes some code literally commented with "This is a bit of a hack", replacing it with a cleaner alternative

danra avatar May 01 '24 19:05 danra

We've merged a fix for this issue here: https://github.com/juce-framework/JUCE/commit/047f7aaad2898609cda1dfd5c6c184aef2623bbf

The merged fix should resolve the issue for all of the external SDKs, not just VST2 and VST3.

reuk avatar May 21 '24 13:05 reuk