Cross-platform development environment

Apologies in advance if this is a naïve question.

I hope to develop an app, probably desktop only because it needs the screen real estate, for Windows, Linux, and Mac. It is an evolution of an old Windows only app, The Miditzer (miditzer.org) if it matters.

When using JUCE for cross-platform development, is the preferred work flow to run Projucer on one platform and export for the desired platforms? Or to copy the .jucer file to the desired platforms and run Projucer on each desired platform?

Thanks for help in getting off square one.

You can do that. You can also use CMake, which allows you to define a cross-platform build system setup.

1 Like

While the projucer creates projects for all exporters on each machine, I found it helpful to only have the jucer file checked in. I am no fan of checked in project files.

The builders will build the projucer, create the project files and build on each platform. I like it to have all built from source, including the Projucer.
Using cmake saves this step so it is worth to explore that option, even though the learning curve is a bit harder for cmake.

For now it is very convenient/simple for me to develop with the Projucer and Xcode on macOS, export the GNU/Linux makefile, and compile with it on Ubuntu/RPI when i want to test. I don’t know if i’ll need to use CMake later. I keep the jucer file in the repository (as it is done in all the examples in the JUCE folder) and all my computers are sync from GitHub/Bitbucket. All my source files are grouped inside JUCE modules. For now it hasn’t been really required to use the approach suggested by @daniel (i.e.build the projucer, create the project files and build on each platform). But maybe that in the future i’ll have.