Closed andy-fillebrown closed 4 years ago
This will break all my CI scripts. I think rather than trying to find a better way of doing this with the Projucer, it might perhaps be best to look at using cmake? Cmake support was recently added to JUCE. The Projucer can be a real pain.
On Sat 8 Aug 2020, 11:24 Andy, notifications@github.com wrote:
This is a small step toward making Cabbage easier to build.
Projucer generally assumes there will be only one .jucer file used in a project. Multiple .jucer files are not well supported. To work around this limitation I would like to move each .jucer file to its own directory. Doing this will break the current JuceHeader.h includes because they use quotes instead of brackets and they use explicit paths relative to the files in the Source directory instead of relying on the project header search paths.
This change removes the explicit relative paths from the JuceHeader.h includes and changes the quotes to brackets so the project header search path is given priority. This will make it easier to merge later changes when the .jucer file moves are done.
You can view, comment on, or merge this pull request online at:
https://github.com/rorywalsh/cabbage/pull/70 Commit Summary
- Remove relative directory prefixes when including JuceHeader.h
- Use angle brackets when including JuceHeader.h
File Changes
- M Source/Application/CabbageDocumentWindow.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-a5b9a5ba0dc65df9bf3fc574b3ae5164 (2)
- M Source/Application/CabbageMainComponent.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-f4eab21285ba918ffb9f34487c8b4e46 (2)
- M Source/Application/FileTab.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-4363ab65da10aec60201292dfff85485 (2)
- M Source/Audio/Filters/FilterGraph.cpp https://github.com/rorywalsh/cabbage/pull/70/files#diff-e5c1fb5cdfacc6d1bcc51d349c374749 (2)
- M Source/Audio/Filters/FilterIOConfiguration.cpp https://github.com/rorywalsh/cabbage/pull/70/files#diff-92dad83dc8447bffb813bc6beb487576 (2)
- M Source/Audio/Filters/InternalFilters.cpp https://github.com/rorywalsh/cabbage/pull/70/files#diff-aa0f5b9f8e477963436ed2c757f19ca7 (2)
- M Source/Audio/Plugins/CabbageInternalPluginFormat.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-2c36b86d079be960dd0ce7b36626f753 (2)
- M Source/Audio/Plugins/CabbageMessageSystem.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-fc26e15b187d43161cf14f91c8b7d4a5 (2)
- M Source/Audio/Plugins/CabbagePluginEditor.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-017ee5bfd448c1e1665cb501987f8d53 (2)
- M Source/Audio/Plugins/CsoundPluginEditor.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-52bfa1767671e8b4dfbc3ca335abb66f (2)
- M Source/Audio/Plugins/CsoundPluginProcessor.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-862afa9ca68fbe5c1714974a4bb20122 (2)
- M Source/Audio/Plugins/GenericCabbageEditor.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-a80e8f0669688f74394b8cf3260310da (2)
- M Source/Audio/UI/CabbageTransportComponent.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-21360f928f93fe53d5b4b4c7d407a2b0 (2)
- M Source/Audio/UI/GraphEditorPanel.cpp https://github.com/rorywalsh/cabbage/pull/70/files#diff-a5044c47fcffc1ee98e24f90904947d0 (2)
- M Source/Audio/UI/IOConfigurationWindow.cpp https://github.com/rorywalsh/cabbage/pull/70/files#diff-c08f0a847f9581cab8a43dac61be5ce3 (2)
- M Source/Cabbage.cpp https://github.com/rorywalsh/cabbage/pull/70/files#diff-a1408558e07251b03ceba4dff42cea3c (2)
- M Source/CabbageIds.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-d39ba9b2b01d8f34a9f21d658e9fe26d (2)
- M Source/CodeEditor/CsoundTokeniser.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-aa53a128677b01f7d9b179e87bc6cd77 (2)
- M Source/CodeEditor/JavascriptCodeTokeniser.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-c065e914f3faab3a9c3fe4f299ff543a (2)
- M Source/LookAndFeel/CabbageGenericPluginLookAndFeel.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-a69f03db09d0bcd08de0e82f28071a62 (2)
- M Source/LookAndFeel/CabbageIDELookAndFeel.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-c38ed3c0bff1300373caec1e65b5c0ef (2)
- M Source/LookAndFeel/CabbageLookAndFeel2.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-951adfc42dfff1b2efd59ee762149e0b (2)
- M Source/LookAndFeel/FlatButtonLookAndFeel.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-516728edb6e476b040a04c47534fa901 (2)
- M Source/LookAndFeel/PropertyPanelLookAndFeel.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-2879a21e88445273654a82e2dbbb9961 (2)
- M Source/StandaloneLite/StandaloneFilterApp.cpp https://github.com/rorywalsh/cabbage/pull/70/files#diff-68801988114484757d78d2ca558e765e (2)
- M Source/StandaloneLite/StandalonePluginHolder.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-e0463e1605d5a72b9fe0fbfcd21bbf23 (2)
- M Source/Utilities/CabbageUtilities.h https://github.com/rorywalsh/cabbage/pull/70/files#diff-12797cfdf1309b92a869a3c748eb378f (2)
Patch Links:
- https://github.com/rorywalsh/cabbage/pull/70.patch
- https://github.com/rorywalsh/cabbage/pull/70.diff
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rorywalsh/cabbage/pull/70, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAUQWGJZPKMHBBNHQLAHXRTR7URUJANCNFSM4PYS3YZQ .
Ok, but can you accept this PR anyway since all it does is change how JuceHeader.h is included? Moving forward I'll work on using CMake instead of Projucer, but even with CMake it will still be helpful to have JuceHeader.h included using angle brackets instead of quoted relative paths.
Well, maybe hold off anyway... I just downloaded and installed the Windows package created on the Azure build server for this PR and the first plugin synth I tried crashed Reaper.
I see support for CMake in Juce 6, but not Juce 5, and I have not been able to get Cabbage working with Juce 6. I hacked together a Juce 6 build with Projucer, but the Cabbage IDE stopped showing the cursor caret and plugins made with it had issues. I'll try again using CMake.
Well, maybe hold off anyway... I just downloaded and installed the Windows package created on the Azure build server for this PR and the first plugin synth I tried crashed Reaper.
...but it's working fine now. Weird.
Regardless, I'm closing this PR. It will be easy enough to reproduce when it's needed.
There is a cmake package out there for JUCE 5, https://github.com/McMartin/FRUT I've used it before, it was quite good.
On Sun 9 Aug 2020, 00:09 Andy, notifications@github.com wrote:
Well, maybe hold off anyway... I just downloaded and installed the Windows package created on the Azure build server for this PR and the first plugin synth I tried crashed Reaper.
...but it's working fine now. Weird.
Regardless, I'm closing this PR. It will be easy enough to reproduce when it's needed.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rorywalsh/cabbage/pull/70#issuecomment-670983441, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAUQWGIFJFIFVPL4BRSKGGLR7XLLZANCNFSM4PYS3YZQ .
This is a small step toward making Cabbage easier to build.
Projucer generally assumes there will be only one .jucer file used in a project. Multiple .jucer files are not well supported. To work around this limitation I would like to move each .jucer file to its own directory. Doing this will break the current JuceHeader.h includes because they use quotes instead of brackets and they use explicit paths relative to the files in the Source directory instead of relying on the project header search paths.
This change removes the explicit relative paths from the JuceHeader.h includes and changes the quotes to brackets so the project header search path is given priority. This will make it easier to merge later changes when the .jucer file moves are done.