MACHO_CURRENT_VERSION
What current version number is this target for Mach-O binaries.
For shared libraries on Mach-O systems (e.g. macOS, iOS) the MACHO_COMPATIBILITY_VERSION
property corresponds to the compatibility version and MACHO_CURRENT_VERSION
corresponds to the current version. These are both embedded in the shared library binary and can be checked with the otool -L <binary>
command.
It should be noted that the MACHO_CURRENT_VERSION
and MACHO_COMPATIBILITY_VERSION
properties do not affect the file names or version-related symlinks that CMake generates for the library. The VERSION
and SOVERSION
target properties still control the file and symlink names. The install_name
is also still controlled by SOVERSION
.
When MACHO_CURRENT_VERSION
and MACHO_COMPATIBILITY_VERSION
are not given, VERSION
and SOVERSION
are used for the version details to be embedded in the binaries respectively. The MACHO_CURRENT_VERSION
and MACHO_COMPATIBILITY_VERSION
properties only need to be given if the project needs to decouple the file and symlink naming from the version details embedded in the binaries (e.g. to match libtool conventions).
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.17/prop_tgt/MACHO_CURRENT_VERSION.html