Hi eXpl0it3r
I think this is really important, because at least in my case I was between learning C++ and Java, and in Java is really easy to get this multimedia things running, and on C++ you have to fight a lot to get it running (if you are a beginner). The only reason I kept with C++ was because SFML was lowering my headache on this topic.
So you see... A beginner is usually confused about one Million things, and adding a tiny bity of complexity to it (even if it is to compile a library) is already enough to overload People new to any topic.
I know you don’t agree on trying to reach a bigger audience, but I think its really a beautiful Thing to be able to massify contents which are usually for a selected Group of people. Some hundreds of years ago, being able to read or write was a privilege of only a few, and now this is massified knowledge. The same is for computers and so many other things in our everyday life.
This philosophy apart, although I would still think the tutorial would be nice, I accept your suggestion of leaving a note on the site for people who are confused with so many Options, as you said:
"What we may think about is adding a note that people using MSYS (or Cygwin) could potentially use the built-in package managers. ;)"
I believe that adding the note as you said would be probably good enough (provided the note is in someplace easy to be found).
We could write something like this: "If you are lost with so much compiler possibilities or compilation problems, just use the MSYS2 system with a package manager (available on link bla bla) and let the package manager work the details for you."
Near the note we could leave the link to get MSYS2 (for Windows or any other widely used platforms) for people who are still lost with he possibility of using one Million Compilers, each one with their dependancy problems.
Or even better, we could provide a "it works out of the box pack" which comes with Codeblocks, a compiler and the latest SFML already installed and running out of the box that requires no headache with compilation or choosing a compiler and IDE for the user.
I think providing it for at least Windows should be enough to get the majority of people.
I have found something which can ease this for the beginner. It is basically choosing a compiler which can download the latest SFML version by itself without requiring that the user cares about how to compile SFML. And if the user updates his compiler, his SFML will get updated automatically without headaches.
That's essentially true for most Linux distributions. However, you must never forget the fact that such precompiled packages are always only as up-to-date as the maintainer updated them. So worst case you'll only get some older version with some specific bugs not being fixed.
In addition to that, on Windows it's generally more complicated to use any package manager, because there's no standardized one (like apt-get). Besides that, if you're into programming, you'll have to learn how to use libraries sooner or later, so I wouldn't consider that a massive hurdle, especially considering how easy CMake is to use.
Downloading, building, and installing SFML could essentially be done in one line:
git clone https://github.com/SFML/SFML.git SFML && cd SFML && cmake --build --target install .
Of course this gets more complicated depending on which compiler you'd like to use etc. but let's be honest here: The time it takes to explain some package manager bundled with a specific compiler, you could also explain compiling from scratch with the user's own favorite toolchain.
Forcing users into using some specific toolset, just to make it "easier" for them, isn't the way to go. In fact I'm pretty sure this would often have the opposite effect. I don't remember how many libraries I've turned away, just because I would have been forced to use MSYS (or Cygwin) to build (because my preferred environment is Visual Studio).
If that's not what you've had in mind, then you might have to explain yourself a bit better or possibly even write a mockup somewhere to explain how the download page should look like in your opinion.