A common convention is to specify both ``VERSION`` and ``SOVERSION``
such that ``SOVERSION`` matches the first component of ``VERSION``:

.. code-block:: cmake

  set_target_properties(mylib PROPERTIES VERSION 1.2.3 SOVERSION 1)

The idea is that breaking changes to the ABI increment both the
``SOVERSION`` and the major ``VERSION`` number.