Closed haenkel closed 2 years ago
Thanks for giving the cmake option a try! I'm glad that it does not only work on Debian :-) I chose the "JUCE via CPM" way mainly because it does not interfere with the current projucer based build system. As long as cmake is not the main build system I would rather not pull in a 60 MB submodule that is not even used in the still canonical build process.
But, once the cmake build system is ready and tested the submodule approach should be considered. I'm a bit undecided, though, since both methods have their pros and cons.
The submodule unpacks to 60 Mb but downloads around 12 or so (way less than 250 and only once).
It still doesn't interfere with the projucer build script.
(Only if you did a projucer build before,
you'd have to delete the JuceLibraryCode
folder first before going cmake,
but thats unrelated to the submodule and is true for both methods.)
Your CMakeLists.txt
should actually work on all OSes (note: I changed the terminal commands in the readme
which call the default compiler for the given OS (gcc for most gnus, msvc for win, clang on mac) instead of make).
What may break things is that we both bumped Juce to 6.1.6 (it did for some distros see #334).
OK, I'm convinced. (BTW, thanks for polishing the CMakeLists.txt files and related additions to the README_cmake.md!)
The cmake is super lovely. I will try and find some time this afternoon to update the azure pipelines file to work with it also.
also now it’s on cmake I can do a clap build which is very exciting! Thanks!
Thanks for this. Yes this makes sense, all dependencies should be a submodule....
Hi @baconpaul , I'm planning to migrate to GitHub Action (I already got the built running) since it works out of the box with the platform.
Over in the surge discord a few more people test-compiled the latest changes and in total we now have succesful cmake-builds with: debian, ubuntu (gcc and clang), mac m1(clang) and windows 10(msvc). So yeah @showlabor , your cmake port works on all major OSes. (lots of warnings though but no errors).
Awesome and yup, if i was starting from scratch i'd use actions too. If you find them unwieldy though we have lots of pipelines files which work nicely for juce + cmake.
Oh also if you are interested and have an apple id, i have a script which signs and notarizes on macOS which would work for you once your cmake build is running.
Finally i did a test clap build today. Not quite working (not dexed fault I don't think) but got it to load in BWS.
So this is all around great!
oh and hi @asb2m10 :)
we now have succesful cmake-builds with: debian, ubuntu (gcc and clang), mac m1(clang) and windows 10(msvc). So yeah @showlabor , your cmake port works on all major OSes. (lots of warnings though but no errors).
Oh, that's great, thanks for the feedback :-)
The cmake addition is great (thanks @showlabor)! I'd like to suggest making JUCE a submodule though.
The way it is included via CPM now means it downloads around 250Mb every time a new build folder is created or JUCE gets updated. Adding it as a submodule with depth1 you end up with aprox 60Mb once, updates are incremental and it's independent from the build folder.
This will also speed up potential pipeline builds.