1SOVERSION
2---------
3
4What version number is this target.
5
6For shared libraries :prop_tgt:`VERSION` and ``SOVERSION`` can be used to
7specify the build version and API version respectively.  When building or
8installing appropriate symlinks are created if the platform supports
9symlinks and the linker supports so-names.  If only one of both is
10specified the missing is assumed to have the same version number.
11``SOVERSION`` is ignored if :prop_tgt:`NO_SONAME` property is set.
12
13Windows Versions
14^^^^^^^^^^^^^^^^
15
16For shared libraries and executables on Windows the :prop_tgt:`VERSION`
17attribute is parsed to extract a ``<major>.<minor>`` version number.
18These numbers are used as the image version of the binary.
19
20Mach-O Versions
21^^^^^^^^^^^^^^^
22
23For shared libraries and executables on Mach-O systems (e.g. macOS, iOS),
24the ``SOVERSION`` property corresponds to the *compatibility version* and
25:prop_tgt:`VERSION` corresponds to the *current version* (unless Mach-O
26specific overrides are provided, as discussed below).
27See the :prop_tgt:`FRAMEWORK` target property for an example.
28
29For shared libraries, the :prop_tgt:`MACHO_COMPATIBILITY_VERSION` and
30:prop_tgt:`MACHO_CURRENT_VERSION` properties can be used to
31override the *compatibility version* and *current version* respectively.
32Note that ``SOVERSION`` will still be used to form the ``install_name``
33and both ``SOVERSION`` and :prop_tgt:`VERSION` may also affect the file
34and symlink names.
35
36Versions of Mach-O binaries may be checked with the ``otool -L <binary>``
37command.
38