Updated to 5.0.2 today, as requested by ProJucer, and the VS2017 exporter throws an unusable project on Windows. All the files are missing; it only shows the solution and projects. The Mac version exports a usable VS2017 project, though, so I’m able to use that in the interim. Anyone else experiencing this? Am I doing something horribly stupid? (That last is definitely well within the realm of possibility.)
And, while you’re thinking about that, where does one put the /multicore flag in ProJucer to force VS2017 to use all cores when compiling?
Is there a flag in vs 2017 not to use all cores?! Who would want to engage that?
Other way around. You have to add the /multicore flag to any build you want to use them. Why that’s not a preference is utterly beyond me, but I’m sure they have their reasons.
You’re talking of vs using all available cores when compiling to get it done fast or that the resulting app should use all available cores? If the former, I doubt there is a setting for that (prove me wrong!), if the latter I can say my last projucer test app produced a multi core exe.
The former. Visual Studio will give each project in a solution its own core, and also break out compilation to all possible cores, if you use the /multicore flag at compile.
(See VS docs, https://docs.microsoft.com/en-us/visualstudio/msbuild/using-multiple-processors-to-build-projects )
However, ProJucer doesn’t have a place for this flag to live. This is rather desirable because the build on Windows when you’re pushing 6 versions of a plugin is fairly time-consuming, and when I have a 16-core computer sitting here and only one is being used to compile, well, I’d like that to move along a bit.
The “Multi-processor Compilation” property, which translates to the
/MP compiler flag, is always set to true by Projucer (see https://github.com/WeAreROLI/JUCE/blob/master/extras/Projucer/Source/Project%20Saving/jucer_ProjectExport_MSVC.h#L1302).
The files sit now directly inside the projects as it made lots of warnings and errors when navigating from one file to another.
By default, I think that if tehre are many files to compile, then msbuild will use as many cores as possible. And then your final plugins projects should also be compiled in parallel.
At least, this happens like that on my box, it does use all the cores if possible.
Are you using precompiled headers? It will speed up the build speed multifold…