Skip to content
Snippets Groups Projects
Commit 00caa1dd authored by Bartosz Kosiorek's avatar Bartosz Kosiorek Committed by Brad King
Browse files

Help: Describe VERSION and SOVERSION meanings for Mach-O binaries

parent d152ae12
Branches
Tags
No related merge requests found
......@@ -26,6 +26,10 @@ Example of creation ``dynamicFramework``:
FRAMEWORK_VERSION C
MACOSX_FRAMEWORK_IDENTIFIER com.cmake.dynamicFramework
MACOSX_FRAMEWORK_INFO_PLIST Info.plist
# "current version" in semantic format in Mach-O binary file
VERSION 16.4.0
# "compatibility version" in semantic format in Mach-O binary file
SOVERSION 1.0.0
PUBLIC_HEADER dynamicFramework.h
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
)
......@@ -3,12 +3,25 @@ SOVERSION
What version number is this target.
For shared libraries VERSION and SOVERSION can be used to specify the
build version and API version respectively. When building or
For shared libraries :prop_tgt:`VERSION` and ``SOVERSION`` can be used to
specify the build version and API version respectively. When building or
installing appropriate symlinks are created if the platform supports
symlinks and the linker supports so-names. If only one of both is
specified the missing is assumed to have the same version number.
SOVERSION is ignored if NO_SONAME property is set. For shared
libraries and executables on Windows the VERSION attribute is parsed
to extract a "major.minor" version number. These numbers are used as
the image version of the binary.
``SOVERSION`` is ignored if :prop_tgt:`NO_SONAME` property is set.
Windows Versions
^^^^^^^^^^^^^^^^
For shared libraries and executables on Windows the :prop_tgt:`VERSION`
attribute is parsed to extract a ``<major>.<minor>`` version number.
These numbers are used as the image version of the binary.
Mach-O Versions
^^^^^^^^^^^^^^^
For shared libraries and executables on Mach-O systems (e.g. OS X, iOS),
the ``SOVERSION`` property corresponds to *compatibility version* and
:prop_tgt:`VERSION` to *current version*. See the :prop_tgt:`FRAMEWORK` target
property for an example. Versions of Mach-O binaries may be checked with the
``otool -L <binary>`` command.
......@@ -3,14 +3,27 @@ VERSION
What version number is this target.
For shared libraries VERSION and SOVERSION can be used to specify the
build version and API version respectively. When building or
For shared libraries ``VERSION`` and :prop_tgt:`SOVERSION` can be used
to specify the build version and API version respectively. When building or
installing appropriate symlinks are created if the platform supports
symlinks and the linker supports so-names. If only one of both is
specified the missing is assumed to have the same version number. For
executables VERSION can be used to specify the build version. When
executables ``VERSION`` can be used to specify the build version. When
building or installing appropriate symlinks are created if the
platform supports symlinks. For shared libraries and executables on
Windows the VERSION attribute is parsed to extract a "major.minor"
version number. These numbers are used as the image version of the
binary.
platform supports symlinks.
Windows Versions
^^^^^^^^^^^^^^^^
For shared libraries and executables on Windows the ``VERSION``
attribute is parsed to extract a ``<major>.<minor>`` version number.
These numbers are used as the image version of the binary.
Mach-O Versions
^^^^^^^^^^^^^^^
For shared libraries and executables on Mach-O systems (e.g. OS X, iOS),
the :prop_tgt:`SOVERSION` property correspond to *compatibility version* and
``VERSION`` to *current version*. See the :prop_tgt:`FRAMEWORK` target
property for an example. Versions of Mach-O binaries may be checked with the
``otool -L <binary>`` command.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment