Tried switching to cmake. No WinMain. Googling cmake stuff, I’m told to add WIN32 to add_executable. Which, of course, isn’t used in favor of juce_add_gui_app.
If you’re able to build the example projects but not your own project, that might indicate that there’s an issue in your CMakeLists. (On that note, you definitely should not pass WIN32 to juce_add_gui_app).
If you’re not able to build any JUCE-based target, we’ll need more details about your environment in order to diagnose the issue. For example, when you invoke CMake, what arguments are you passing?
Now, that " -G "CodeBlocks - NMake Makefiles" " shouldn’t be there and I can’t get rid of it. Looks like a holdover from ProJucer clion export. The PJ project is deleted. “.idea” folders deleted and it’s still there! Clion restarted, everything.
Perhaps CLion is re-using a build tree which was previously generated for the Projucer-managed project. Perhaps removing the cmake-build-debug folder completely will solve the issue where CLion is still using the CodeBlocks generator.
Is it possible that your glob expression isn’t picking up all your project’s sources? I think you might also see this ‘unresolved external symbol’ warning if none of your source files contain START_JUCE_APPLICATION (myAppClass). Perhaps the source file that contains this line is being missed by the glob expression.
Yep, my GLOB was wrong. ‘src’ should have been ‘Source’. LOL, I would have expected a different error. Oh well and sorry for bothering you dude. A few missing modules and a “target_compile_features(MPE_PAD PRIVATE cxx_std_20)” later and it’s building.
While we’re here, how are folk handling Android projects alongside cmake? Just keeping cmake and ProJucer in sync? Or syncing cmake and gradle somehow?
PS That CodeBlocks -G thing is really annoying me. I’ve deleted EVERYTHING. lol
Tip: if you’re using CMake with CLion on Windows, using Ninja will build much faster than the default one they’re using.
You can do that by changing the command to -G Ninja here:
Unfortunately keeping the two projects in sync is likely to be the lowest-friction solution. You could also try modifying the Projucer-generated gradle project to use your handwritten CMakeLists instead of the generated CMakeLists, but this is definitely not a nice polished ‘officially supported’ solution. This approach would take some experimentation to get working. However, once set-up, this would allow you to manage the project entirely through cmake/gradle, rather than using the Projucer.