Hi guys, hi Laurent,
like already discussed a little in another thread, I'm personally very confused by the new library filename for SFML2 since you switched over to CMake.
On Linux, every library has a .so name, which basically looks like "lib<name>.so.<version>". The active library is then symlinked to "lib<name>.so". On that platform, another library name is therefore not needed and would lead to inconsistencies.
Libraries that are separately released (e.g. Apache 1.6 and Apache 2.0 in the past) are often also released separately in most Linux' distributions. I think this is an unnecessary confusion. For example, when you do a search with Debian à la "apt-cache search libsfml", there'll popup several versions. Not a bad thing at a first glance, but as a result mechanism that work with .so names won't work anymore -- but besides that potential interested people will just not know why there're two versions and which to prefer (why is there still a 1.6? More stable? 2.0 discontinued?)
Speaking of Windows, I can understand your choice a bit better since there's no version naming for libraries (it's just "sfml-system.dll"). However, this has also been the case for all SFML version up to 1.6. The biggest problem here is of course distribution: When one library version isn't compatible with a previous one, the application/game has to include the library with the release.
However, at the time when packing a release, nobody knows when a library will get outdated by a newer, incompatible version.
Therefore this problem will *always* exist (as long the MS guys don't choose to add versioning, too).
As a logical consequence, you had to name all your releases like "sfml-system-1.6.dll" to avoid version clashes. I know, this is not the common case on Windows, but isn't it an option? I.e. .so naming on Linux (Mac OSX does it the same way, right?) and pseudo naming on Windows.