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

Pau Garcia i Quiles pgquiles at elpauer.org
Thu Apr 3 03:41:37 EDT 2008


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 :-(

This is for Unix but it might clarify something on Mac, too:
http://www.elpauer.org/index.php?p=230


-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)



More information about the CMake mailing list