What’s the recommended setup and procedure to use CLion along with Xcode and VS? There is no CLion or CMake exporter with Projucer anymore. Setting up a CLion project from scratch based on the source tree is a pain (Juce modules not properly included).
The plan is to edit and refactor the code base with CLion and build/deploy with Xcode and VS. So everything should be kept in one place.
As I haven’t used CLion much yet, I am probably missing the obvious.
It is a bit of work, an automatic conversion is not available. I don’t know if FRUT is still available or if it is worth it now. It was written for an old version before juce added CMake support.
That should actually work. Have a look at the examples, there is an CMake based juce audio plugin you can easily expand upon:
And building with CLion is also easier than involving Xcode. The compiler doing thew work will be the same anyway.
I recommend to start simple with the cmake from the juce docs.
PampleJuce and Eyal’s template and several more are great to look up things you want to add later. But starting with them is overwhelming.
And I would recommend not to use globbing. Sometimes you want to make a copy of a file and suddenly it is included and hell breaks loose.
Thanks so far. I’d rather avoid writing and maintaining CMake files manually. That would be a real pain. The code base is really huge and still changes a lot over time.
What was the original reason for abandoning the CMake/CLion exporters? It might make more sense to grab it from an earlier Juce version and update it?
The CLion exporter never did work well, it was probably just too hard for the JUCE team to maintain support for two meta build systems and convert from one to another.
I would suggest to just switch to CMake and ditch the Projucer. There are now plenty of production-ready templates online using JUCE and CMake and it shouldn’t be too hard to do.
I know of several companies who switched their ‘live’ projects from one to another just in the last year or so.
About ca. 4 years ago we transitioned all our active products from Projucer based to CMake and never looked back. It was actually a quite straightforward task and to me personally made maintaining stuff a lot easier, especially since you can move patterns used in every plugin to common cmake functions, maintained along with other shared code, which is not really possible with the Projucer.
I’d encourage you to try out porting one existing project manually to get a feeling about how much or little pain it really is. And then working with CMake just feels super straightforward.