[CMake] Mostly O.T. Need advice on Mac OS X compatibility version for libraries

Alexander Neundorf a.neundorf-work at gmx.net
Thu Apr 3 15:11:35 EDT 2008


On Thursday 03 April 2008, Pau Garcia i Quiles wrote:
> Quoting "Alan W. Irwin" <irwin at beluga.phys.uvic.ca>:
> > On 2008-04-02 20:08-0700 E. Wing wrote:
> >> This seems familiar. I remember a long discussion on this somewhere.
> >> It must have been offlist. I forgot the outcome. Were we going to
> >> introduce a different versioning variable separate from SOVERSION?
> >
> > You may be referring to VERSION.  To give a specific example, we use
> >
> > set(csirocsa_SOVERSION 0)
> > set(csirocsa_VERSION ${csirocsa_SOVERSION}.0.1)
> >
> > and
> >
> > SET_TARGET_PROPERTIES(csirocsa PROPERTIES SOVERSION ${csirocsa_SOVERSION}
> > VERSION ${csirocsa_VERSION}) for one of our libraries which our core
> > library depends upon.
> >
> > So we set the major portion of the VERSION triplet be consistent with
> > SOVERSION.  That works fine on Linux, but
> > I am not really sure whether it is SOVERSION or VERSION (or
> > both) that affects the resulting compatibility version on Mac OS X.
> >
> > Can somebody at least comment on the relationship between VERSION and/or
> > SOVERSION from CMake and the resulting compatibility version on Mac OS X?
> > Of course, if that person has more to say about why the major portion of
> > that compatibility version should not be zero on that platform, that
> > would be great as well.
>
> Versioning libraries is one of the most confusing topics I have ever
> seen in the Unix world :-(

Here's a feature request for the versioning stuff on OSX:

http://public.kitware.com/Bug/view.php?id=4383

Alex


More information about the CMake mailing list