This change makes the CMake build system generate libraries for Linux and Darwin matching the makefile build system.
Linux libraries follow the pattern lib${name}.${MAJOR}.${MINOR}.so so that ldconfig won't pick it up incorrectly.
Darwin libraries are not versioned.
Note: On linux the non-versioned symlink is generated at install-time not build time. I plan to fix that eventually, but I expect that is good enough for the purposes of fixing this bug.
Setting NO_SONAME means SONAME isn't set *at all*, which doesn't seem desirable.
That doesn't seem desirable. I would expect to see the SONAME set to the same as the output name. I think you just want to not set SOVERSION/VERSION instead? Did you mean to set NO_SONAME only for Apple?