Move dependencies in Git folder

• Feb 13, 2019 - 04:10

Is there a reason why the dependencies needed for compiling musescore (the ones copied in the Qt directory) are not in the git repo?
This would remove a lot of steps for compiling (under windows a least, I have no idea for others, sorry).
Also, the archive given is has files not as big as the ones given when downloading from original download page. Does it mean they have been updated since the archive has been created? I guess yes, since the new ones are all bigger. This could cause issues sometimes hard to find.
I guess it somehow should be added in the CMake lists somewhere. I have no idea of how CMake works, but I'd be glad to learn with this.
But I believe the greatest advantage would be the time saved on the compile instructions page.


Comments

Dependencies are supposed to be installed separately. They are not part of MuseScore, and adding them may not always be feasible, e.g. they tend to be really large.

Having them in the same repository might also make the impression that they are part of MuseScore under the same licence… which is very problematic.

Furthermore, having them there is actually frowned upon, you’re not supposed to have convenience copies of third-party code in your own source code (at best, a mechanism to collect them), and use the libraries provided by the operating system instead.

In reply to by mirabilos

Ok, thanks, I didn't know about these practices frowned upon, as you said.
You say dependencies tend to be really large, are you talking about Qt here? Because I don't remember libVorbis, libOgg, libVorbisFile, portaudio and the others along were so big. But I actually don't remember that much, so I guess you can only be right there.
What about portaudio.dll? It's not given by any website. It's just taken directly from an old MusEScore version. So I guess it's not convenience copies of third-party code?

In reply to by ecstrema

PortAudio is a separate project alright.

The multiple platforms also make that difficult (you mention DLL, so you’re on Windows, but even for that there’s two or three different binary versions around): the amount of precompiled binaries multiplies by the number of platforms where these dependencies are supposed to be used/shipped. It’s best if everyone who compiles MuseScore for himself uses the binaries that match his own platform best, and that burden is not one MuseScore has to shoulder, after all.

Do you still have an unanswered question? Please log in first to post your question.