bitfieldaudio / OTTO

Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP]
https://bitfieldaudio.com
Other
2.63k stars 144 forks source link

Use CPM for dependencies #178

Closed topisani closed 3 years ago

topisani commented 4 years ago

This is the most useful package manager ive seen so far. It basically does what we already do manually with git submodules, but without the submodules (which are kind of a pain)

CPM

So basically, replace all of what's in external to the extent possible with CPM packages.

brianmichel commented 4 years ago

This looks pretty cool, what do you think about vcpkg? It seems to have a similar syntax of being able to build from a repo with vcpkg_from_github, however maybe that assumes there is already a CONTROL and portfile in whatever repo you're fetching.

CPM seems nice as it's just a wrapped on some CMake functionality (from what I can tell by reading), I think the only thing that makes me hesitate about using it is the smaller number of contributors and maybe not getting as much love as something like vcpkg. However, OTTO doesn't have very many external dependencies, so if there ever was a migration required in the future it doesn't seem like it would be a large effort.

I'd be happy to take this on @topisani and try to get CPM integrated for what exists in the external folder right now.

topisani commented 4 years ago

I mainly like CPM because its just a small cmake script, and requires no external tools etc installed. An as you say, we dont have many dependencies, so i preffer having it all nicely integrated in cmake, especially since some of our dependencies are a bit obscure (like choreograph), so the fact that it works without any extra upstream setup is very nice.

It would be cool if you could take a look at this, yes!