Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update and simply SO versioning policy (#339)
This mirrors OpenEXR PR [1498](AcademySoftwareFoundation/openexr#1498). This change retires the "libtool" versioning scheme and adopts a policy of appending the MAJOR.MINOR.PATCH software release name to the SONAME to form the real name of the shared library. The SOVERSION is specified via the OPENEXR_LIB_SOVERSION setting in CMakeLists.txt and is the single number that increments whenever, and only when, the ABI changes in non-backwards-compatible ways. In practice, this corresponds to major and minor releases. The resulting real shared library file names look like, for example, libOpenEXR.so.31.3.2.0, where libOpenEXR.so.31 is the SONAME and .3.2.0 identifies the corresponding software release. This naming scheme helps reinforce the correspondence between the shared library's real file name and the software release it corresponds to, more so than would be indicated by a single increasing number. By OpenEXR project policy and discussion of the technical steering committee, the additional versioning information in the libtool versioning scheme is too confusing and error-prone to follow, without offering additional practical benefit. Documentation is in CMakeLists.txt and in docs/install.rst. Signed-off-by: Cary Phillips <[email protected]>
- Loading branch information