logicomacorp / WaveSabre

Official WaveSabre repository
MIT License
246 stars 34 forks source link

Investigate including VST3 SDK as a submodule #91

Closed yupferris closed 2 years ago

yupferris commented 2 years ago

This doesn't count as distribution as far as I'm aware, so long as our source releases don't actually include this source, we should be able to do this, which simplifies BYOSDK greatly.

yupferris commented 2 years ago

Unfortunately, we still need to support VST3 in order to do this (#89), as even the earliest tagged VST3 SDK releases on Github don't include any of the VST2 SDK code.

emoon commented 2 years ago

If this isn't possible then a "hack" would be to in a build setup use wget/curl or something like that to fetch and unpack it.

yupferris commented 2 years ago

Indeed, we should try to see if that works with this archive link that we currently link to in our docs, and if so, we could provide (platform-specific?) script(s) to set it up more easily.

kusma commented 2 years ago

submodules are notoriously hard to work with, and I would recommend against using them unless it provides a lot of benefit over something else.

It's the ugly duckling that was added to Git simply so KDE could convert their SVN repo that used svn:external heavily, but then nobody really gave it the love that was needed... It's not really something that should have been in Git in the first place IMO.

emoon commented 2 years ago

Yeah. For windows it would be possible to just include wget/curl and unzip inside a bin directory, and then have a setup.cmd setup.sh etc that just fetches it.

emoon commented 2 years ago

@kusma In this case it might be ok if it's only to fetch the code and never update it, otherwise I agree

emoon commented 2 years ago

another problem tho with submodules is that everyone forgets to add --recursive when cloning. Now not a hard problem to fix, but it will be a constant question :)

kusma commented 2 years ago

@emoon: It's still pretty awkward to set up the project if you're not online or if github has problems, even if you have both repos already cloned. Submodules don't really do the "distributed" part of "distributed version control"...

emoon commented 2 years ago

Right

emoon commented 2 years ago

And yeah, I have opted to move away from submodules for most/all of my projects because in the end they are a PITA to work with.

yupferris commented 2 years ago

agreed about submodules; a custom script is likely much easier to use/work with.

LeStahL commented 2 years ago

It would be possible to use file(DOWNLOAD ...) and file(ARCHIVE_EXTRACT ...) in the CMakeLists.txt to get and unpack the VST3 SDK automatically - that saves the trouble of using scripts (or having the users download it manually).

LeStahL commented 2 years ago

Like this: https://github.com/logicomacorp/WaveSabre/pull/92 :)

yupferris commented 2 years ago

Fixed in #92